1

以下のプログラムを実行しようとしていますが、switchメソッドを使用するとエラーが発生します

java.util.Scannerをインポートします。

/ ** * *@authorkernパブリッククラスローン{

public static void main(String[] args) {

スキャナー入力=新しいスキャナー(System.in);

    //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);{




}

}

4

2 に答える 2

3

Stringケース値はJava7からサポートされているため

見る

あなたはそれを次のように使う必要があります

if("annually".equals(period)){
}
于 2012-11-17T02:29:04.807 に答える
0

Jigar Joshiリンクごとに、文字列を実行できるようになりました。

switchステートメントでの文字列の使用

Java SE 7以降では、switchステートメントの式でStringオブジェクトを使用できます。次のコード例StringSwitchDemoは、monthという名前の文字列の値に基づいて月の番号を表示します。

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);
    }
}

}

于 2012-11-17T02:40:42.543 に答える