当前位置: 首页 > 知识库问答 >
问题:

无法使扫描器字符串方法工作

慕志泽
2023-03-14

我试图为字符串创建一个扫描器方法,它只在用户输入的值不为空时才返回该值(空白,用户立即点击“Enter”等)。如果用户这样做,我希望打印出一条错误消息,并让循环再次返回开始,等待新的用户输入。如果正确,我希望方法返回正确的输入值。

我的代码是这样的:

private static final Scanner scr = new Scanner(System.in);

private static String readString(){
		while(true){
			String command = scr.next();
			if(command != null && !command.trim().isEmpty()){
				return command;
			}
			System.out.println("You have to type something");
		}
	}

共有1个答案

闾丘冠玉
2023-03-14

src.nextline()替换为src.nextline()

private static final Scanner scr = new Scanner(System.in);

public static void main(String[] args) {
    System.out.println(readString());
}
private static String readString() {
    while (true) {
        String command = scr.nextLine();
        if (command != null && !command.trim().isEmpty()) {
            return command;
        }
        System.out.println("You have to type something");
    }
}
 类似资料:
  • 我有一个文本文件,其中包含几行由空格分隔的小整数列表。我要扫描第一行,并为第一行中的每个整数做一些事情。 所以我有一个扫描仪(textScan),它扫描文本文件的第一行,然后将其保存为String。然后我有了第二个扫描器,它扫描String来检查其中的值是否是整数。 但是 while 语句不允许我使用“行.has下一个Int”来扫描字符串!那么,我如何浏览字符串行以确定它是否有整数? 编辑:对不起

  • 问题内容: 我正在编写一个使用Event类的程序,该类中有一个日历实例和一个String类型的描述。创建事件的方法使用扫描仪获取月,日,年,小时,分钟和说明。我遇到的问题是Scanner.next()方法仅返回空格之前的第一个单词。因此,如果输入为“我的生日”,则该事件实例的描述就是“我的”。 我做了一些研究,发现人们使用Scanner.nextLine()解决此问题,但是当我尝试这样做时,它只是

  • 我正在编写一个有两个类的程序。类1包含一个名为“Probability”的构造函数,它接受三个输入:一个String和两个double。此代码如下所示: 还有一个修饰符,根据输入的字符串有五个条件(例如,如果this.inputString == "String1 "...),带有对无效输入的捕捉。类2多次调用“概率”构造函数来创建我的程序需要的概率。 这就是我的困境。有五个字符串输入,我需要能够

  • 问题:编写一个名为wordWrap的方法,该方法接受表示输入文件的扫描器作为其参数,并将文件的每一行输出到控制台,对超过60个字符的所有行进行文字包装。例如,如果一行包含112个字符,则方法应将其替换为两行:一行包含前60个字符,另一行包含最后52个字符。包含217个字符的行应该被包装成四行:三行的长度为60,最后一行的长度为37。 我的代码: 输出中的问题: 预期产出: 生产产量: 我哪里做错了

  • 我正试图用Java中的扫描器将一个字符串分成另外两个字符串。好像不起作用。我只能通过谷歌找到扫描仪用来读取控制台输入的例子。我从扫描仪的手册中找出了我做事情的方式,我不确定我错了什么。 第一个和第二个是空白的,我不知道为什么。

  • 当我尝试使用javac在windows命令提示符中编译程序时,我得到以下错误消息: 我做错了什么?