【问题标题】:BlueJ and Input from keyboardBlueJ 和键盘输入
【发布时间】:2015-07-05 19:32:26
【问题描述】:

我写了以下代码:

import java.io.*;
public class Typer
{
    public static void main(String[] args) 
    {
       Console cons;
       cons = System.console();
       boolean edition = true;
       if(cons == null)
       {
           edition = false;
       }
       if(edition)
       {
           String name = cons.readLine("Give your name: ");
           System.out.println("Your name is: "+ name);
       }
       else
       {
           System.out.println("There is no console!");
       }
    }
 }

我正在使用 BlueJ,它不会提示输入。它只是打印出没有控制台!有什么想法吗?谢谢你!

当我在 powershell 上编译和运行程序时,它运行正常。由于某种原因,bluej 的情况有所不同。

【问题讨论】:

  • 可能没有系统控制台?然后它返回null。
  • 当我在 powershell 编译和运行程序时,它运行正常。由于某种原因,bluej 的情况有所不同。
  • 它正在等待您的输入.. 会发生什么?请解释
  • 如果 cons 变量等于 null,它只会打印出我输入的消息,因此它不会等待输入它只是打印出没有控制台。就像它不从 java.io 导入 Console 或者它不创建对象一样。
  • 我认为和 Eclipse 一样,BlueJ 不支持这个。试试这个link。

标签: java input console java-io bluej


【解决方案1】:

要使用 BlueJ 输入任何值,我通常使用 BufferedReader 语句。 事情是这样的, BufferedReader name=new BufferedReader(new InputStreamReader(System.in)); 在类或方法中编写此语句后,您可以使用控制台输入任何值。 请务必在询问值后给出此声明。 如果是整数- int 变量名= Integer.parseInt(name.readLine);

【讨论】:

  • 谢谢。我找到了一个使用 Scanner 的解决方案,并且我完成了我使用 Powershell 和 Eclipse 完成的大部分课程。还是谢谢!
【解决方案2】:

我认为 BlueJ 有一个 View>Console 或一个 View>Output 窗口。我相当肯定这一点,但我已经很久没有使用 Bluej 了。无论如何,您可以使用 Scanner 对象。 Scanner 是一种处理输入的好方法,我认为它更常用于输入。它是 Java API 的一部分,如何使用它的示例可以在这里找到:

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

页面上显示的代码用于从文件中扫描,但同样的方法可用于从控制台获取输入,然后对其进行处理。当您运行代码时,无论您在哪里看到 System.out.println 调用的输出,程序都应该等待您输入一些内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多