Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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类-类的数组,从用户接收数据_Java_Class - Fatal编程技术网

java类-类的数组,从用户接收数据

java类-类的数组,从用户接收数据,java,class,Java,Class,我试图将值放入holiday类型的数组中,但出现错误 当我在索引i变为1(在for循环中)时输入值 这是将值接收到构造函数中的正确方法吗 我得到的错误是: 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.nex

我试图将值放入holiday类型的数组中,但出现错误 当我在索引i变为1(在for循环中)时输入值

这是将值接收到构造函数中的正确方法吗

我得到的错误是:

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 ExamQ1.main.main(main.java:13) 
主要问题:

import java.util.Scanner;

public class main {
public static void main(String[] args) {
    Scanner in = new Scanner(System.in);

    Holiday[] h = new Holiday[4];

    for (int i = 0; i < h.length; i++) {
        System.out.println(i);
        h[i] = new Holiday(in.nextLine(), in.nextLine(), in.nextInt());
    }
}
}

thank's

在使用了
nextInt()
来使用剩余的未读字符后,不要忘记使用
next()

for (int i = 0; i < h.length; i++) {
    System.out.println(i);
    h[i] = new Holiday(in.nextLine(), in.nextLine(), in.nextInt());
    in.next();
}
如果不在.next()中使用
,将发生以下情况:

LOOP 1 :

in.nextLine()    ->    aaa
in.nextLine()    ->    bbb
in.nextInt()     ->    1

//This looks OK.

LOOP 2 :

in.nextLine()    ->    **UNREAD CHARACTER LEFT AFTER in.nextInt()**
in.nextLine()    ->    ccc
in.nextInt()     ->    vvv **INPUT MISMATCH BECAUSE IT IS NOT AN INT**

使用
nextInt()
后,不要忘记使用
next()
来使用剩余的未读字符

for (int i = 0; i < h.length; i++) {
    System.out.println(i);
    h[i] = new Holiday(in.nextLine(), in.nextLine(), in.nextInt());
    in.next();
}
如果不在.next()中使用
,将发生以下情况:

LOOP 1 :

in.nextLine()    ->    aaa
in.nextLine()    ->    bbb
in.nextInt()     ->    1

//This looks OK.

LOOP 2 :

in.nextLine()    ->    **UNREAD CHARACTER LEFT AFTER in.nextInt()**
in.nextLine()    ->    ccc
in.nextInt()     ->    vvv **INPUT MISMATCH BECAUSE IT IS NOT AN INT**
只需在.next()中使用
而不是在.nextLine()中使用
。 单击以查看差异。

只需在.next()中使用
而不是在.nextLine()中使用

单击以查看差异。

您作为输入提供了什么?aaa>>>>>>bbb>>>>>1>>>>ccc>>>>>vvv-->-->此处开始出现错误这不是插入元素的好方法,您的扫描仪甚至可能不会返回任何结果,因此您应该在使用它们之前对其进行包装,如:while(in.hasNext()){}我也有同样的问题…读这篇文章,你给出了什么作为输入?aaa>>>>>>bbb>>>>>1>>>>>ccc>>>>vvv-->>>>这里的错误开始这不是插入元素的好方法,你的扫描器甚至可能不会返回任何结果,所以你应该在对它们做任何事情之前进行包装,比如:while(in.hasNext()){}我也有同样的问题…读这篇文章,但每次之后我都按回车键entry@liran问题是,您没有在
nextInt()
之后使用
in.next()
作为:in.next();在for?@liran中,使用
nextInt()之后的剩余未读字符。
i写入for:if(inextInt()之后使用
in.next()
作为:in.next();在for?@liran中,使用
nextInt()之后的剩余未读字符。
i写入for:if(i