gpt4 book ai didi

java - 我遇到了麻烦。我不断收到运行时错误,因为它同时打印 2 行?

转载 作者:行者123 更新时间:2023-11-30 03:42:12 25 4
gpt4 key购买 nike

import java.util.Scanner;
public class AnimalDriver {

public static void main ( String [] args ) {
Scanner input = new Scanner ( System.in );
String Type, Name, Type2, Name2;
int Age, Weight, Age2, Weight2;

System.out.println ("Enter Animal #1's type: ");
Type = input.nextLine();


System.out.println ("Enter Animal #1's name: ");
Name = input.nextLine();

System.out.println ("Enter Animal #1's weight in pounds: ");
Weight = input.nextInt();


System.out.println ( "Enter Animal #1's age in years: ");
Age = input.nextInt();
System.out.println ("Enter Animal #2's type: ");
Type2 = input.nextLine();


System.out.println ("Enter Animal #2's name: ");
Name2 = input.nextLine();


System.out.println ("Enter Animal #2's weight in pounds: ");
Weight2 = input.nextInt();


System.out.println ( "Enter Animal #2's age in years: ");
Age2 = input.nextInt();


Animal Trial1 = new Animal (Type, Name, Age, Weight);
Animal Trial2 = new Animal (Type2,Name2,Age2,Weight2);

System.out.println(Trial1);
System.out.println(Trial2);

}
}

这就是到目前为止我的代码,我包含一个自定义类,但不需要该 ATM。所以我遇到的问题是,运行它后,一切都很顺利,但在输入动物 #1 的年份后,它同时打印动物 #2 的类型和名称。这使得我无法输入类型值,而只是将其保留为空白。有谁知道这个问题的解决办法吗?非常感谢任何帮助!谢谢。

最佳答案

Age = input.nextInt();Type2 = input.nextLine(); 以及另一个 input.nextLine()

问题是,input缓冲区中仍然存在回车/换行以及对nextInt的调用,其中nextLine是拾取并因此跳过您的 Type2 = input.nextLine(); (将其留空)

每当您不使用 nextLine 获取输入(并且您想要新的输入行)时,您都需要先调用 nextLine...

关于java - 我遇到了麻烦。我不断收到运行时错误,因为它同时打印 2 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26580423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com