0

動作する if else if ステートメントを取得しようとしていますが、それを使用するとエラーが発生します。以下のプログラムを参照してください。

public class Info {

  public static void main(String [] args){
    Scanner input=new Scanner(System.in);
    System.out.print("Enter employee num");
    int e_num=input.nextInt();
    System.out.print("Enter employee first name");
    String e_fname=input.next();
    System.out.print("Enter employee surname");
    String e_sname=input.next();
    System.out.print("Enter employee code C or c,H or h and F or f");
    char e_code = input.next().charAt(0);

   if(e_code==F||e_code==f){
       e_code==monthly_paid;
   }            
 }
}
4

2 に答える 2

5

変数を比較するための文字リテラルを探しているだけだと思います。

if (e_code == 'F' || e_code == 'f')

(間隔は必須ではありません - 読みやすくするためです...)

一方、オプションの固定セットがある場合は、代わりにスイッチ/ケースが必要になる場合があります。

ただし、これは理想的ではありません。

e_code==monthly_paid;

ここは何monthly_paidユーザーが入力したコードを表す変数を、金額のように聞こえるものに変更したいのはなぜでしょうか?

于 2012-12-13T12:12:50.543 に答える
1

あなたのコードには多くの問題があります

  1. 文字リテラルを変数と比較しています
  2. それ自体が宣言されていない変数。あなたが書くならe_code == F、コンパイラはFを文字通りではなく変数として扱います。
  3. e_code==monthly_paid;Javaのコードで==は、値を割り当てるために値を割り当てるために使用されていませんe_code = monthly_paid; =演算子を使用する必要があります。
  4. monthly_paid変数も宣言されていません。
于 2012-12-13T12:27:16.493 に答える