我真的试图通过线程找到答案,但仍然希望能得到一些反馈。
我认为下面的代码风格不好,但是我不知道为什么java.util.NoSuchElementException
在输入数字后会把我射杀
,因为我为两个方法创建了两个Scanner对象,并且我应该能够开始一个新的输入。而且,如果我删除了input.close()
inputAndPrintNumber()中的内容,它将正常工作并正确编译。我真的希望知道如果我仍然使用两个Scanner
obj并且不删除(input.close()
如果可能的话)为什么以及如何解决它。
import java.util.*;
public class t{
public static void main(String [] args){
inputAndPrintNumber();
inputAndPrintString();
}
public static void inputAndPrintNumber(){
Scanner input = new Scanner(System.in);
String s = input.nextLine();
System.out.print(s);
input.close();
}
public static void inputAndPrintString(){
Scanner input2 = new Scanner(System.in);
int a = input2.nextInt();
System.out.print(a);
}
}
我什至不知道下面的代码是更好的还是更好的主意?
import java.util.*;
public class t{
public static Scanner input = new Scanner(System.in);
public static void main(String [] args){
inputAndPrintNumber();
inputAndPrintString();
input.close();
}
public static void inputAndPrintNumber(){
String s = input.nextLine();
System.out.print(s);
}
public static void inputAndPrintString(){
int a = input.nextInt();
System.out.print(a);
}
}
当我尝试使用javac在windows命令提示符中编译程序时,我得到以下错误消息: 我做错了什么?
我已经尝试过了,但没有找到任何可以理解的解决方案(我对java非常陌生,这对我来说很难),或者自己解决它。以下是完整的代码(我知道代码不是那么高效): 正如您所看到的,我试图自己解决它,甚至在一些代码上添加了注释,但当它运行到方法并返回时,它失败了,因为扫描器认为在我写东西之前有东西要扫描。这里有个例外-
我正在尝试用javaoop编写一个程序,在这个程序中我主要创建一些人(每个人都有姓名、年龄、身份:是否受雇)。 我想按姓名搜索这些人,并显示所有细节。 例如,如果有一个叫约翰的人,我通过名字找到了他,我想列出所有的细节(状态、年龄等等)。 我尝试在Person类中实现这个方法。< br >我不知道创建一个包含所有人和姓名的地图,然后在其中进行搜索是否更好。 以下是我的代码: 人员类: 雇佣类别:
我正在为一个CS项目做一个游戏,其中一个要求是只有一个扫描仪为人类输入。如果我创建一个抽象类“Player”,它有一个扫描器对象,并创建两个扩展“Player”的“人类”类,它们是各自有自己的扫描器,还是共享“Player”扫描器?另外,当我结束游戏时如何关闭扫描仪?
这让我很费解。我正在试图理解如何解决Java无法识别我的“settitle”方法存在于第一个“song”之后的问题。这是一个音乐应用程序。它还有另外两个类。我们将非常感谢所有的帮助。 编辑:添加歌曲类。
这是我程序的主要方法。当调用nextLine()函数时,扫描器解析变量L而不是space时,我遇到了一个问题。不过,nextInt()可以按照预期工作。我的程序在试图用integer.parseint()函数解析空字符串时崩溃了。 第一个输入是指定将要进行的行数的整数,下面的输入是空格分隔的整数。 堆栈跟踪如下: