0

色の文字列を返すだけで困っています。何らかの理由で、数値が返されません。if ステートメントの末尾に else を挿入する必要があるかどうかはわかりませんが、catch ステートメント if for のように感じます。

メインクラス

package edu.computer.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Computer {
  public Computer() {
  }

  public String getProcessor() {
    InputStreamReader in = new InputStreamReader(System.in);
    BufferedReader keyboard = new BufferedReader(in);
    String num = null;
    System.out.println("Type red to print red or blue to print blue");
    try {
      num = keyboard.readLine();
      if (num.equals("red"))
        num = "red";
      if (num.equals("blue"))
        num = "blue";

    } catch (IOException e) {
      System.out.println("Exception occured!");
    }
    return num;

  }
}

テストクラス

package edu.computer.test;

public class ComputerTester {
  public static void main(String[] args) {
    Computer a = new Computer();
    a.getProcessor();
  }
}
4

1 に答える 1

1

あなたのコード例は問題なく動作します。テストに次の行を追加したところ、期待どおりに色が印刷されました。

public static void main(String[] args) {
  Computer a = new Computer();
  System.out.println(a.getProcessor());
}

blueまたは必要に応じて印刷redします。

于 2013-12-11T11:42:10.547 に答える