0

これは私がやりたいことです:

プロンプトで次のような数字を入力できるようにしたい

入力

10 10 20 30

その後、各数字を文字に変換したいので、出力は次のようになります

jjte

これが私のコードです。現在、私が得るのはnullだけです。

import java.util.Scanner;
public class mainClass {
    public static void main(String[] args) {
       System.out.println("Past in code here: ");
       Scanner inputM=new Scanner(System.in);
       String  input=inputM.nextLine();
       String[] Emessage=input.split(" ");
       String[] eMessage=new String[Emessage.length];

       for(int i = 0; i < Emessage.length; i++) {
          if(Emessage[i]=="10"){eMessage[i]="a";}
          if(Emessage[i]=="20"){eMessage[i]="b";}
          if(Emessage[i]=="30"){eMessage[i]="c";}
          if(Emessage[i]==" "){eMessage[i]=" ";}           
       } 

       System.out.println(" ");

       for(int i=0;i<eMessage.length;i++){
           System.out.print(eMessage[i]);
       }
    }
}

これは実行例です: .........................

ここにコードを貼り付けます:

10 20 30

nullnullnull

注: nullnullnull は abc と等しくなければなりません

4

2 に答える 2

3

試す

    if (Emessage[i].equals("10") {
        //code
    }
于 2013-02-12T20:59:04.063 に答える
1

String はオブジェクトであるため、== 演算子を使用して文字列の等価性をチェックすることはできません。次のように、等しいかどうかを確認するには equals メソッドを使用する必要があります

if( "10".equals( Emessage[i] ) ){ eMessage[i]="a"; }
于 2013-02-13T13:21:24.203 に答える