import java.util.Scanner;
public class My_Lab02
{
public static void main(String args[])
{
int a, b, c;
String name, greeting;
Scanner input = new Scanner(System.in);
// 1st Part
System.out.println("Please enter two integers: ");
a = input.nextInt();
b = input.nextInt();
System.out.println("*** \"" + a + "/" + b + "=" + a/b + "\"");
// 2nd Part
System.out.println("Enter your name: ");
name = input.nextLine();
greeting = "Hello, ";
System.out.println(greeting + name);
}
}
一旦我运行程序使用int a,b的代码的第一部分工作正常,但是一旦我到代码的第二部分它就打印出Hello,程序结束,但!如果我注释掉代码的第一部分,代码的第二部分将按照它应该如何工作,并允许您在一个字符串中输入名字和姓氏。然后打印出#34; Hello,Joe Bob"
我不明白代码的第一部分是如何影响我代码的第二部分的。
这是程序运行错误的示例运行:
Please enter two integers:
30
4
*** "30/4=7"
Enter your name:
Hello,
这是最终代码所需的方式:
Example run 2:
Enter two integers: 15 4
*** “15/ 4 = 3”
Enter your name: Tom Cruise
Hello, Tom Cruise.
The first letter in your name is T!
Your name contains 10 characters.
HELLO, TOM CRUISE
但在完成作业之前,我需要解决第一个错误。
感谢您的帮助!
答案 0 :(得分:4)
b = input.nextInt();
不会消耗下一个换行符。所以当你打电话时
input.nextLine()
你得到一个换行符。你可以读它。
input.nextLine(); // <-- by adding this
System.out.println("Enter your name: ");
name = input.nextLine();