首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >现在,我在使用if else语句时遇到不兼容的错误

现在,我在使用if else语句时遇到不兼容的错误
EN

Stack Overflow用户
提问于 2012-11-17 10:27:50
回答 2查看 128关注 0票数 1

尝试运行下面的程序,但在使用switch方法时遇到错误

导入java.util.Scanner;

/** @作者克恩公开课贷款{

代码语言:javascript
复制
public static void main(String[] args) {

扫描仪输入=新扫描仪(System.in);

代码语言:javascript
复制
    //variabled decleared
    double rate, payment,principal,interest,n;
    int length;
    String period;

    //input
    System.out.print("Enter the amount of money borrowed: $");
    principal = input.nextDouble();
    System.out.print("Enter the annual interest rate: ");
    interest = input.nextDouble();
    System.out.print("Enter the payment period :");
    period = input.next();
    System.out.print("Enter Loan Length:");
    length = input.nextInt();
    //process

    rate=interest/100;
    payment= principal*(rate*Math.pow((1+rate),n)/ Math.pow ((1+rate),n));

      if (period==annually) {
               n=1*length;
                System.out.prtintf(Your monthly sum is %f:,payment);{

 if (period==semiannuall) {
               n=2*length;
                System.out.prtintf(Your monthly sum is %f:,payment);{

 if (period== quarterly) {
               n=4*length;
                System.out.prtintf(Your quarterly sum is %f:,payment);{

 if (period==monthly) {
               n=12*length;
                System.out.prtintf(Your monthly sum is %f:,payment);{




}

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-17 10:29:05

java 7支持String as case值

请参阅

  • Switch case

你需要像这样使用它

代码语言:javascript
复制
if("annually".equals(period)){
}
票数 3
EN

Stack Overflow用户

发布于 2012-11-17 10:40:43

根据Jigar Joshi链接,您现在可以执行字符串操作:

在switch语句中使用字符串的

在Java SE 7和更高版本中,可以在switch语句的表达式中使用String对象。下面的代码示例StringSwitchDemo根据名为month的字符串的值显示月份数:

代码语言:javascript
复制
public class StringSwitchDemo {
public static int getMonthNumber(String month) {

    int monthNumber = 0;

    if (month == null) {
        return monthNumber;
    }

    switch (month.toLowerCase()) {
        case "january":
            monthNumber = 1;
            break;
        case "february":
            monthNumber = 2;
            break;
        case "march":
            monthNumber = 3;
            break;
        case "april":
            monthNumber = 4;
            break;
        case "may":
            monthNumber = 5;
            break;
        case "june":
            monthNumber = 6;
            break;
        case "july":
            monthNumber = 7;
            break;
        case "august":
            monthNumber = 8;
            break;
        case "september":
            monthNumber = 9;
            break;
        case "october":
            monthNumber = 10;
            break;
        case "november":
            monthNumber = 11;
            break;
        case "december":
            monthNumber = 12;
            break;
        default: 
            monthNumber = 0;
            break;
    }

    return monthNumber;
}

public static void main(String[] args) {

    String month = "August";

    int returnedMonthNumber =
        StringSwitchDemo.getMonthNumber(month);

    if (returnedMonthNumber == 0) {
        System.out.println("Invalid month");
    } else {
        System.out.println(returnedMonthNumber);
    }
}

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13427087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档