【问题标题】:InOut.readInt() only working in Windows Java EditorInOut.readInt() 仅适用于 Windows Java 编辑器
【发布时间】:2019-09-03 23:07:17
【问题描述】:

在学校,我使用 Windows 的 Java 编辑器(控制台模式)编写 Java 程序。在那里,InOut.readInt()(用于用户输入)没有问题,我不需要导入任何东西。

现在,我有一个假期的 Java 作业,我尝试在我的 Mac 上编写 Java 程序。在在线控制台 Java 编辑器中,InOut.readInt() 行会导致此错误:

/IntBetween10And100.java:8: error: cannot find symbol
        int input = InOut.readInt("Integer --> ");
                    ^
  symbol:   variable InOut
  location: class IntBetween10And100
1 error

我已经尝试过导入行(放在课程之前),例如:

  • import java.*
  • import java.util.*
  • import java.util.InOut
  • import java.io.BufferedStreamReader
import java.util.*;

public class IntBetween10And100 {
    public static void main(String args[]) {
        int input = InOut.readInt("Integer --> ");
    }
}

int input = InOut.readInt("Integer --> ");

应该生产线

Integer --> 

但是,错误消息(如上所示)出现了。

【问题讨论】:

  • 从我回到学校的那一天起,记得老师为我们提供了这样的课程(它不是 java 语言的课程)。哪个在线java编辑器?这很可能表明 Windows 的 Java 编辑器包含这样一个类,而在线没有。
  • 没有java.util.InOut这样的类。
  • 也许 InOut 是 java.util.Scanner 类的变量?

标签: java input io inout


【解决方案1】:

好的,所以您正在使用 Windows 上的“Java-Editor”工具来编写您的 Java 代码。

事实证明,Java-Editor 包含一个名为 InOut 的类作为示例类。 (你可以在这里看到它:http://javaeditor.org/doku.php?id=en:examples)。

由于各种原因,它不适合在任何类型的生产代码中使用:

  • 它不是 Java SE 类库或任何第 3 方库的一部分。
  • 它是default包中的一个类
  • 它的功能有限,即使与真正的System.inSystem.out 相比也是如此
  • 它会干扰以正常方式使用System.in 的任何应用程序或第3 方库代码。 (它会创建自己的 BufferedReader 来包装 System.in。这可能会捕获“预先输入”输入。)

您也真的需要将它用于教育目的。它只是一个包装类...

但是,如果您想在 Java 编辑器上下文之外使用 InOut,您只需从上面的页面下载源代码并将其添加到您的项目中即可。我不能确切地告诉你如何,但是添加类应该在你现在使用的工具的文档中解释! (如果你是认真学习Java的,我其实建议你在自己的电脑上下载并安装一个真正的Java JDK和一个真正的Java IDE。)

作者忽略了在InOut.java 文件中包含明确的版权声明。但是,Java-Editor 网站作为一个整体被许可为“CC Attribution-Share Alike 4.0 International”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多