Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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.util.InputMismatchException错误中出现异常_Java - Fatal编程技术网

主线程java.util.InputMismatchException错误中出现异常

主线程java.util.InputMismatchException错误中出现异常,java,Java,我有一个关于发生了什么的问题,每当我试图编译它时,它总是给我这样一个错误: Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at java.util.Scanne

我有一个关于发生了什么的问题,每当我试图编译它时,它总是给我这样一个错误:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Person.main(Person.java:38)
我只希望用户能够输入他们的年龄和姓名,并将其存储在“age”和“name”变量中,然后将其打印在底部字符串中。如果有人也愿意帮我清理代码,那也没什么害处

import java.util.*; 
import java.io.*; 
import java.util.Scanner;

public class Person 

{

public static void main(String[]args) 

    {

    int age;
    int name;

    Scanner scan = new Scanner(System.in);

    System.out.println("Enter in your age.");
    age = scan.nextInt();

     if (age < 18) 

     {
         System.out.println("So you're a kid, huh? That's fine.");
     } 

     else if (age >= 18)

     {
        System.out.println("Ah, and adult! Good.");
     }

     @SuppressWarnings("resource")
     Scanner in = new Scanner(System.in);

     System.out.println("Enter in your name");
     name = in.nextInt();

     System.out.println("So you're " + age + " years old and your name is " + name);


}
}
import java.util.*;
导入java.io.*;
导入java.util.Scanner;
公共阶层人士
{
公共静态void main(字符串[]args)
{
智力年龄;
int名称;
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入您的年龄”);
age=scan.nextInt();
if(年龄<18岁)
{
System.out.println(“那么你是个孩子,嗯?那很好。”);
} 
否则,如果(年龄>=18岁)
{
System.out.println(“啊,还有成人!很好”);
}
@抑制警告(“资源”)
扫描仪输入=新扫描仪(系统输入);
System.out.println(“输入您的姓名”);
name=in.nextInt();
System.out.println(“那么你是“+age+”岁,你的名字是“+name”);
}
}

为什么名称是整数<代码>整数名

我怀疑您正在使用alpha字符输入您的姓名…并且在这一行出现异常:
name=in.nextInt()

name
不应为整数。它应该是一个字符串


因此,
字符串名
name=in.nextLine()

为什么名称是整数<代码>整数名

我怀疑您正在使用alpha字符输入您的姓名…并且在这一行出现异常:
name=in.nextInt()

name
不应为整数。它应该是一个字符串


因此,
字符串名
name=in.nextLine()

问题

 int name; //Name should be of type String
 ...
 System.out.println("Enter in your name");
 name = in.nextInt(); //It doesn't handle the string since your using `nextInt`
解决方案

 String name;
 ...
 System.out.println("Enter in your name");
 name = in.nextLine();

问题

 int name; //Name should be of type String
 ...
 System.out.println("Enter in your name");
 name = in.nextInt(); //It doesn't handle the string since your using `nextInt`
解决方案

 String name;
 ...
 System.out.println("Enter in your name");
 name = in.nextLine();

这意味着您的程序试图读取一个不是整数的整数

在.nextInt()中使用
name=


它应该是string.not int

这意味着您的程序试图将一个值读取为一个非整数的整数

import java.util.*;
class Employe
{
    private int id;
    private String name;
    Employe(int id,String name)
    {
        this.id=id;
        this.name=name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
public class Quarantine {
public static void main(String[] args) {
    Employe empList[]=new Employe[2];
    Scanner sc=new Scanner(System.in);
    for(int index=0;index<empList.length;index++) {
    int id=sc.nextInt();
    String name=sc.nextLine(); 
    empList[index]=new Employe(id,name);
    }
    for(int index=0;index<empList.length;index++) {
        System.out.println(empList[index].getId()+" "+empList[index].getName());
        }}
}
在.nextInt()中使用
name=

它应该是string.not int

import java.util.*;
import java.util.*;
class Employe
{
    private int id;
    private String name;
    Employe(int id,String name)
    {
        this.id=id;
        this.name=name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
public class Quarantine {
public static void main(String[] args) {
    Employe empList[]=new Employe[2];
    Scanner sc=new Scanner(System.in);
    for(int index=0;index<empList.length;index++) {
    int id=sc.nextInt();
    String name=sc.nextLine(); 
    empList[index]=new Employe(id,name);
    }
    for(int index=0;index<empList.length;index++) {
        System.out.println(empList[index].getId()+" "+empList[index].getName());
        }}
}
阶级雇员 { 私有int-id; 私有字符串名称; 雇员(整数id,字符串名称) { 这个.id=id; this.name=name; } 公共int getId(){ 返回id; } 公共无效集合id(内部id){ this.id=id; } 公共字符串getName(){ 返回名称; } 公共void集合名(字符串名){ this.name=名称; } } 公营检疫{ 公共静态void main(字符串[]args){ 雇员雇佣者[]=新雇员[2]; 扫描仪sc=新的扫描仪(System.in); 对于(int index=0;index
import java.util.*;
阶级雇员
{
私有int-id;
私有字符串名称;
雇员(整数id,字符串名称)
{
这个.id=id;
this.name=name;
}
公共int getId(){
返回id;
}
公共无效集合id(内部id){
this.id=id;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
}
公营检疫{
公共静态void main(字符串[]args){
雇员雇佣者[]=新雇员[2];
扫描仪sc=新的扫描仪(System.in);
对于(int index=0;indexname=in.nextInt();
因为您需要用户名,所以很明显它将是字符串类型,所以请使用
name=in.next()name=in.nextLine()。
我希望它现在能工作。

name=in.nextInt(); 因为您需要用户名,所以很明显它将是字符串类型,所以请使用 name=in.next()name=in.nextLine()
我希望它现在能起作用。

请记住,OP将
name
定义为
int
name
应该定义为
string
。请记住OP将
name
定义为
int
名称
应该定义为
字符串。这个问题在你回答之前7年就被问到了?这个问题是在你回答之前7年提出的?