簡體   English   中英

無法從InputStreamReader中的System。返回結果

[英]Cannot return result from System.in InputStreamReader

我在返回顏色字符串時遇到麻煩。 由於某種原因,它將不會返回數字。 不知道我是否需要在if語句的末尾插入else,但是我覺得那是catch語句的含義。

主班

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

您的代碼示例可以正常工作。 我在測試中添加了以下行,並按預期打印了顏色:

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

根據需要打印bluered

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM