Java &引用;错误:变量键盘已在方法main(字符串[])中定义;
当我试图运行我的程序时,我收到了几个错误消息,其中最让我困扰的是“错误:变量键盘已经在方法main(String[])中定义了” 我应该在我的程序中多次使用main(String[]),还是仅仅在一开始就使用它?这里还有什么问题吗 以下是我课程的开始:Java &引用;错误:变量键盘已在方法main(字符串[])中定义;,java,string,variables,keyboard,Java,String,Variables,Keyboard,当我试图运行我的程序时,我收到了几个错误消息,其中最让我困扰的是“错误:变量键盘已经在方法main(String[])中定义了” 我应该在我的程序中多次使用main(String[]),还是仅仅在一开始就使用它?这里还有什么问题吗 以下是我课程的开始: public static void main(String[]args) { String firstName, lastName; int moviesDownloaded, stateResidency; doubl
public static void main(String[]args)
{
String firstName, lastName;
int moviesDownloaded, stateResidency;
double movieCost, netPayment, tax, discount, totalCharge, payment, taxRate;
System.out.println("Enter your first name:");
Scanner keyboard = new Scanner(System.in);
firstName = keyboard.nextString();
System.out.println("Enter your last name:");
Scanner keyboard = new Scanner(System.in);
lastName = keyboard.nextString();
System.out.println("Enter the number of movies downloaded:");
Scanner keyboard = new Scanner(System.in);
moviesDownloaded = keyboard.nextInt();
System.out.println("Enter the cost per movie:");
Scanner keyboard = new Scanner(System.in);
movieCost = keyboard.nextDouble();
System.out.println("Indicate your state of residency. Enter 1 for Mississippi or 2 for any other state.");
Scanner keyboard = new Scanner(System.in);
stateResidency = keyboard.nextInt();
您应该只声明和初始化键盘一次,然后再使用它。因此,删除以下类型的所有行:
扫描仪键盘=新扫描仪(System.in)代码>除了第一个。
否则,您会多次尝试声明同一变量,因此java会抱怨。您应该只声明和初始化键盘一次,然后使用它。因此,删除以下类型的所有行:扫描仪键盘=新扫描仪(System.in)代码>除了第一个。
否则,您会多次尝试声明同一变量,因此java会抱怨。您不需要每次使用键盘时都初始化它。您可以在程序顶部声明它一次,每次需要从中获取内容时,只需调用keyboard.next() 您不需要每次使用键盘时都初始化它。您可以在程序顶部声明它一次,每次需要从中获取内容时,只需调用keyboard.next() 我猜这一点早就解决了,但我遇到了它,我真的很喜欢结束,因为Ivaylo Strandjev没有选择答案。也以防其他人偶然发现
错误是您已经在此范围内定义了变量键盘,并且正在尝试再次定义它。
就像伊维洛·斯特兰捷夫说的。
您可以尝试以下操作:
1删除声明部分
public static void main(String[]args) {
String firstName, lastName;
int moviesDownloaded, stateResidency;
double movieCost, netPayment, tax, discount, totalCharge, payment, taxRate;
System.out.println("Enter your first name:");
Scanner keyboard = new Scanner(System.in);
firstName = keyboard.nextString();
System.out.println("Enter your last name:");
keyboard = new Scanner(System.in); //-----changed
lastName = keyboard.nextString();
System.out.println("Enter the number of movies downloaded:");
keyboard = new Scanner(System.in); //-----changed
moviesDownloaded = keyboard.nextInt();
System.out.println("Enter the cost per movie:");
keyboard = new Scanner(System.in);//-----changed
movieCost = keyboard.nextDouble();
System.out.println("Indicate your state of residency. Enter 1 for Mississippi or 2 for any other state.");
keyboard = new Scanner(System.in);//-----changed
stateResidency = keyboard.nextInt();`
或者,更改新的变量名
public static void main(String[]args){
String firstName, lastName;
int moviesDownloaded, stateResidency;
double movieCost, netPayment, tax, discount, totalCharge, payment, taxRate;
System.out.println("Enter your first name:");
Scanner keyboard1 = new Scanner(System.in);
firstName = keyboard1.nextString();
System.out.println("Enter your last name:");
Scanner keyboard2 = new Scanner(System.in);//-----changed
lastName = keyboard2.nextString();
System.out.println("Enter the number of movies downloaded:");
Scanner keyboard3 = new Scanner(System.in);//-----changed
moviesDownloaded = keyboard3.nextInt();
System.out.println("Enter the cost per movie:");
Scanner keyboard4 = new Scanner(System.in);//-----changed
movieCost = keyboard4.nextDouble();
System.out.println("Indicate your state of residency. Enter 1 for Mississippi or 2 for any other state.");
Scanner keyboard5 = new Scanner(System.in);//-----changed
stateResidency = keyboard5.nextInt();`
我猜这一点早就解决了,但我遇到了它,我真的很喜欢结束,因为Ivaylo Strandjev的答案并没有被选中。也以防其他人偶然发现
错误是您已经在此范围内定义了变量键盘,并且正在尝试再次定义它。
就像伊维洛·斯特兰捷夫说的。
您可以尝试以下操作:
1删除声明部分
public static void main(String[]args) {
String firstName, lastName;
int moviesDownloaded, stateResidency;
double movieCost, netPayment, tax, discount, totalCharge, payment, taxRate;
System.out.println("Enter your first name:");
Scanner keyboard = new Scanner(System.in);
firstName = keyboard.nextString();
System.out.println("Enter your last name:");
keyboard = new Scanner(System.in); //-----changed
lastName = keyboard.nextString();
System.out.println("Enter the number of movies downloaded:");
keyboard = new Scanner(System.in); //-----changed
moviesDownloaded = keyboard.nextInt();
System.out.println("Enter the cost per movie:");
keyboard = new Scanner(System.in);//-----changed
movieCost = keyboard.nextDouble();
System.out.println("Indicate your state of residency. Enter 1 for Mississippi or 2 for any other state.");
keyboard = new Scanner(System.in);//-----changed
stateResidency = keyboard.nextInt();`
或者,更改新的变量名
public static void main(String[]args){
String firstName, lastName;
int moviesDownloaded, stateResidency;
double movieCost, netPayment, tax, discount, totalCharge, payment, taxRate;
System.out.println("Enter your first name:");
Scanner keyboard1 = new Scanner(System.in);
firstName = keyboard1.nextString();
System.out.println("Enter your last name:");
Scanner keyboard2 = new Scanner(System.in);//-----changed
lastName = keyboard2.nextString();
System.out.println("Enter the number of movies downloaded:");
Scanner keyboard3 = new Scanner(System.in);//-----changed
moviesDownloaded = keyboard3.nextInt();
System.out.println("Enter the cost per movie:");
Scanner keyboard4 = new Scanner(System.in);//-----changed
movieCost = keyboard4.nextDouble();
System.out.println("Indicate your state of residency. Enter 1 for Mississippi or 2 for any other state.");
Scanner keyboard5 = new Scanner(System.in);//-----changed
stateResidency = keyboard5.nextInt();`
@AlvinWong键盘
是一个类型为扫描仪
的变量。我真的不明白你想说什么。@AlvinWongkeyboard
是一个类型为Scanner
的变量。我真的不明白你想说什么。保留键盘=新扫描仪(System.in)有什么意义代码>在您的代码中?你只需要一个键盘
,而且你不需要为每个新的用户输入请求创建新的扫描仪。你完全正确,汤姆,我不知道写这篇文章时我在想什么。我想我写这篇文章只是考虑错误,没有考虑代码的实际功能保持keyboard=newscanner(System.in)的意义是什么代码>在您的代码中?你只需要一个键盘
,而且你不需要为每个新的用户输入请求创建新的扫描仪。你完全正确,汤姆,我不知道写这篇文章时我在想什么。我想我写这篇文章只是考虑错误,没有考虑代码的实际功能