public static void main(String[] args) {
// Create a usable instance of an input device
Scanner sc = new Scanner(System.in);
// Prompt user for input
System.out.println("Please enter you first name:");
// Capture first word and assign it to A Variable
String firstName;
firstName = sc.next();
//Construct the greeting
System.out.println("Hello, " + sc.next() + "!");
我可以在屏幕上输出名称,但我必须输入两次。我相信这是由于sc.next声明,但我不确定。
答案 0 :(得分:0)
是的,这是由sc.next()
引起的,因为你这样做了两次。
将最后一行更改为
System.out.println("Hello, " + firstName + "!");
答案 1 :(得分:0)
使用
X509CertificateSecretParser
在第一次sc.next()之后它是空的(也看下一行)
答案 2 :(得分:0)
问题是您拨打System.out.println("Hello, " + firstName + "!");
两次:
sc.next()
请改为使用指定的变量 firstName = sc.next(); // 1st time
//Construct the greeting
System.out.println("Hello, " + sc.next() + "!"); //2nd time
:
firstname
这可以解决你的问题。
答案 3 :(得分:0)
系统会要求您输入'名字'两次,因为你打了两次 sc.next()。 为了防止这种情况,您可以这样做:
...
//Construct the greeting
System.out.println("Hello, " + firstName + "!");
...
甚至是这种方式,如果您将来不使用String firstName
:
...
System.out.println("Please enter you first name:");
//Construct the greeting
System.out.println("Hello, " + sc.next() + "!");
...
我还希望使用nextLint()
代替next()
,因为它会在返回当前行后自动移动扫描仪。
如果您有兴趣,可以看看这里:
https://stackoverflow.com/a/22458766/8913124