どのようにJavaで1行から複数の入力を読んで?

Cristyan:

私はこのコードを持っているので。

for(int i=0;i<number;i++) { 
System.out.println("WHAT HOUSEHOLD DO YOU WANT TO CONNECT IN APARTMENT NO."+(i+1));
        System.out.println("1 ) OVEN");
        System.out.println("2 ) TV");
        System.out.println("3 ) VACCUUM CLEANER");
        System.out.println("4 ) REFRIGERATOR");
        int option = cin.nextInt();
        switch(option) {
        case 1: {
            for(initiereAparate e : aparate)
            fw.write((i+1)+" "+e.ob1.denumire+" "+e.ob1.material+" "+e.ob1.culoare+" "+e.ob1.origine+" "+e.ob1.consumEnergie+"\r\n"); break;
        }
        case 2: {
            for(initiereAparate e : aparate)
            fw.write((i+1)+" "+e.ob2.denumire+" "+e.ob2.material+" "+e.ob2.culoare+" "+e.ob2.origine+" "+e.ob2.consumEnergie+"\r\n"); break;
        }
        case 3: {
            for(initiereAparate e : aparate)
            fw.write((i+1)+" "+e.ob3.denumire+" "+e.ob3.material+" "+e.ob3.culoare+" "+e.ob3.origine+" "+e.ob3.consumEnergie+"\r\n"); break;
        }
        case 4: {
            for(initiereAparate e : aparate)
            fw.write((i+1)+" "+e.ob4.denumire+" "+e.ob4.material+" "+e.ob4.culoare+" "+e.ob4.origine+" "+e.ob4.consumEnergie+"\r\n"); break;
        }
        }
}

私は私が1行1 2 4に入力します複数inputs.For例を読み取る方法を知りたいのですが、この数字は、私はすでに私は1番号を入力することができます持っており、それが実行されることを私のコードonce.Inで3例を実行します唯一のcase文

ニコラス:

あなたは、文字列ではなく、int型を期待して、あなたの入力機能を変更する必要があります。そして、単にあなたのスイッチケースを実行するために数trought数とループにあなたの文字列を分割。

PSこのコードがテストされていないことをしてくださいノートでは、ちょうどそれが完璧に仕事にすべてを期待してコピー&ペーストしないでください。私が何をしたかを理解しようとすると、それはあなた自身のコンテキストに適用されます。

for (int i = 0; i < number; i++) {
        System.out.println("WHAT HOUSEHOLD DO YOU WANT TO CONNECT IN APARTMENT NO." + (i + 1));
        System.out.println("1 ) OVEN");
        System.out.println("2 ) TV");
        System.out.println("3 ) VACCUUM CLEANER");
        System.out.println("4 ) REFRIGERATOR");
        // we change this to nextLine() because we want a string.
        String option = cin.nextLine();
        // we split our string at white space, this give us an array of string;
        String[] options = option.split("\\s+");
        // we parse every options in the array
        for (int j = 0; j < options.length; j++) {
            // we need to cast the option back to an integer since, it's what we are
            // comparing.
            int currentOption = Integer.parseInt(options[j]);
            switch (currentOption) {
            case 1: {
                for (initiereAparate e : aparate)
                    fw.write((i + 1) + " " + e.ob1.denumire + " " + e.ob1.material + " " + e.ob1.culoare + " "
                            + e.ob1.origine + " " + e.ob1.consumEnergie + "\r\n");
                break;
            }
            case 2: {
                for (initiereAparate e : aparate)
                    fw.write((i + 1) + " " + e.ob2.denumire + " " + e.ob2.material + " " + e.ob2.culoare + " "
                            + e.ob2.origine + " " + e.ob2.consumEnergie + "\r\n");
                break;
            }
            case 3: {
                for (initiereAparate e : aparate)
                    fw.write((i + 1) + " " + e.ob3.denumire + " " + e.ob3.material + " " + e.ob3.culoare + " "
                            + e.ob3.origine + " " + e.ob3.consumEnergie + "\r\n");
                break;
            }
            case 4: {
                for (initiereAparate e : aparate)
                    fw.write((i + 1) + " " + e.ob4.denumire + " " + e.ob4.material + " " + e.ob4.culoare + " "
                            + e.ob4.origine + " " + e.ob4.consumEnergie + "\r\n");
                break;
            }
        }
    }
}

以下のようアービンド・クマールのAvinashはコメントで指摘し、キーワードを追加することが重要であるbreak例を切り替え、これはあなたが唯一の反復ごとに1つのケースを扱うことを確認してくださいあなたに。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=341190&siteId=1