这是菜单类
import java.util.Scanner;
公共类菜单{private String[]Menu_options;
public Menu(String[] menu_options) {
this.menu_options = menu_options;
}
public int getUserInput() {
int i = 1;
for (String s : this.menu_options) {
System.out.println(i + ". " + s);
i++;
}
int selection = getint_input(menu_options.length);
return (selection);
}
private int getint_input(int max) {
boolean run = true;
int selection = 0;
while (run) {
System.out.print("Select an option: ");
Scanner in = new Scanner(System.in);
if (in.hasNextInt()) {
int value = in.nextInt();
if(value>=1 || value<=max){
selection = value; //fixed this now working
run = false;
}
} else {
System.out
.print("Invalid input. Please enter a integer between 1 and "
+ max + ": ");
}
}
return selection;
}
}
这是我使用的菜单驱动程序
公共类 Menutester {
public static void main(String[] args) {
String[] menuitems = new String[2];
menuitems[0] = "option one";
menuitems[1] = "option two";
Menu tm = new Menu(menuitems);
int choice = tm.getUserInput();
System.out.println("Got input");
}
}
我第一次输入一些东西时,它根本不会重新生成,当我尝试在eclipse中调试它时,它会给我错误FileNotFoundException(Throwable)。(字符串)行:第一次输入195。
这就是它的回报
替换:< br >
if (in.hasNextInt() && in.nextInt() >= 1 || in.nextInt() <= max) {
selection = in.nextInt();
run = false;
System.out.println(run);
}
如:
int input = in.nextInt();
if (input >= 1 || input <= max) {
selection = in.nextInt();
run = false;
System.out.println(run);
}
再试一次。
nextInt
读取输入并将其从缓冲区中移除。如果不存储值,就不能这样调用它。
调用它一次,存储值,然后执行所有需要的检查。
改变这一点:
if (in.hasNextInt() && in.nextInt() >= 1 || in.nextInt() <= max) {
selection = in.nextInt();
//...
为此:
if(in.hasNextInt()) {
int selection = in.nextInt();
if(selection >= 1 || selection <= max) {
run = false;
}
}
我遇到了一个循环问题,我必须输入两次温度才能启动循环。我想我知道问题在哪里,只是不知道如何解决。我已经编写了总共三周的代码,所以我在这方面完全是个初学者。 这是我有问题的代码部分: 我想你明白我的意思了。我唯一能让循环工作的方法就是重复int.Parse(Console.ReadLine()),但也许还有另一种修复方法可以修复必须输入两次温度的问题? 真希望有人能帮我解决这个问题。
我尝试了在tenorflow站点中的初始教程:https://www.tensorflow.org/versions/r0.12/how_tos/image_retraining/bazel构建成功完成,但当我尝试用此命令预测图像类时: 我有这个错误:张量流/示例/label_image/main.cc:305]运行模型失败:未找到:FeedInput:无法找到提要输出输入 我怎样才能解决这个问题
编写一个程序,向用户询问一顿饭的费用,计算这顿饭的小费(18%),计算这顿饭的税收(8.25%),然后显示这顿饭的费用、这顿饭的小费金额、这顿饭的税收这顿饭,以及这顿饭的总数,这是成本、小费和税额的总和 这是我的密码: Python Shell上的输出: 输入餐费:19.95 成本:19.95 输入餐费:19.95 提示:3.59 输入餐费:19.95 税费:1.65 输入餐费:19.95 这可能
问题内容: 我有一个UNIX本机可执行文件,它要求像这样输入参数 prog.exe <foo.txt。 foo.txt有两行:bar baz 我正在使用java.lang.ProcessBuilder来执行此命令。不幸的是,prog.exe仅能使用文件重定向功能。有什么办法可以模仿Java中的这种行为? 当然, 不起作用。 谢谢! 问题答案: 未经测试,但类似的东西应该起作用。
从Kafka Streams 2.5.0开始,拓扑似乎必须包含一个输入主题。在Kafka2.4.1(以及更早的版本)中,情况并非如此。 我有一个应用程序,其中的拓扑只是创建一些全局状态存储,从其他应用程序写入的主题中读取数据。 使用Kafka 2.5.0,我得到以下错误: 如果添加一个虚拟输入主题(例如,通过),应用程序启动良好。 这种行为是意料之中的,还是Kafka Streams 2.5.0中
输入法是一种将输入设备输入的数据翻译成字符的方法,这个方法可以表示编码方案和输入平台两种含义,本文将输入法作为输入平台来讲解 LCUI 对它的支持方案。 LCUI 的输入法引擎负责的工作很简单:记录支持的输入法列表,在有按键输入时调用当前激活的输入法驱动进行处理,然后转换成 TEXTINPUT 事件,让 TextEdit 等具有文本输入支持的组件接收输入法输入的文本。 添加输入法 LCUI 将输入