Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;错误:变量键盘已在方法main(字符串[])中定义;_Java_String_Variables_Keyboard - Fatal编程技术网

Java &引用;错误:变量键盘已在方法main(字符串[])中定义;

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

当我试图运行我的程序时,我收到了几个错误消息,其中最让我困扰的是“错误:变量键盘已经在方法main(String[])中定义了”

我应该在我的程序中多次使用main(String[]),还是仅仅在一开始就使用它?这里还有什么问题吗

以下是我课程的开始:

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
键盘
是一个类型为
扫描仪
的变量。我真的不明白你想说什么。@AlvinWong
keyboard
是一个类型为
Scanner
的变量。我真的不明白你想说什么。保留
键盘=新扫描仪(System.in)有什么意义在您的代码中?你只需要一个
键盘
,而且你不需要为每个新的用户输入请求创建新的扫描仪。你完全正确,汤姆,我不知道写这篇文章时我在想什么。我想我写这篇文章只是考虑错误,没有考虑代码的实际功能保持
keyboard=newscanner(System.in)的意义是什么在您的代码中?你只需要一个
键盘
,而且你不需要为每个新的用户输入请求创建新的扫描仪。你完全正确,汤姆,我不知道写这篇文章时我在想什么。我想我写这篇文章只是考虑错误,没有考虑代码的实际功能