修改的 正如标题所述,我无法得到任何人的任何意见。它应该回显InputTypeMismatch的错误,或者如果你做数字,那么它会说空引用错误。我正在寻找要输入的单词 - 字符串。
有人可以纠正这个吗?这让我疯了。我不知道在哪里检查。
谢谢你提前:)
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextFloat(Unknown Source)
at TestFile.promptsentence(TestFile.java:54)
at TestFile.main(TestFile.java:43)
这是一个例子:
import java.util.*;
public class TestFile{
public static Scanner inp = new Scanner(System.in);
public static void main(String[] args){
long inpu = inp.NextLong();
// prompts after changing data-type
String input = Long.valueOf(inp);
System.out.println(input);
}
}
答案 0 :(得分:1)
导致InputMismatchException
的问题在于
long inpu = inp.NextLong(); // Not compilable code line
使用
Long inpu = inp.nextLong(); // nextLong() and Long
这是完整的工作代码
import java.util.Scanner;
public class TestFile{
static Scanner inp = new Scanner(System.in);
public static void main(String[] args){
// long inpu = inp.NextLong();
Long inpu = inp.nextLong();
// String input = Long.valueOf(inp);
String input = String.valueOf(inpu);
System.out.println(input);
}
}
修改强>
你能说明如何让我输入nextString()而不是nextLong()吗?
对于此用法,请在main方法中将字符串作为输入。
String xx = inp.nextLine();
System.out.println(xx);
您一定要查看以下关于Scanner类及其相关方法的链接。
答案 1 :(得分:0)
您正试图从Long
对象Scanner
获取Long.valueOf(inp)
值。请改用Long.valueOf(inpu)
。
无论如何,我建议使用普通变量名。与scanner
对象的Scanner
类似。
答案 2 :(得分:0)
这里有几个问题。 编辑 - 看起来您的编辑修复了前两个。
public class TestFile(){ <---
应该是
public class TestFile {
其次,
public static main( <--
应该是
public static void main
第三
Long.valueOf(inp) <---
应该是
String.valueOf(inpu);
Long.valueOf()
- 这个方法产生一个Long对象。如果需要String对象,则应使用String.valueOf(long);