iT邦幫忙

0

java stream 程式不知道錯在那裏?

各位前輩好:

我的程式如下.有好幾個錯誤,但我不知錯在那裏,請前輩指導,謝謝.(我是用Cloud9)
import java.util.* ;
public class StreamTest2
{
public static void main(String[] args)
{
IntStream.range(1, 4).forEach(System.out::println);
}
}

錯誤訊息如下:
StreamTest2.java:12: error: ')' expected
IntStream.range(1, 4).forEach(System.out::println);
^
StreamTest2.java:12: error: illegal start of expression
IntStream.range(1, 4).forEach(System.out::println);
^
StreamTest2.java:12: error: ';' expected
IntStream.range(1, 4).forEach(System.out::println);
^
3 errors
Error: Could not find or load main class StreamTest2

Process exited with code: 1

1 個回答

0
暐翰
iT邦大師 1 級 ‧ 2019-02-22 10:44:39
最佳解答

原先寫法:

import java.util.* ;
public class StreamTest2
{
    public static void main(String[] args)
    {
        IntStream.range(1, 4).forEach(System.out::println);
    }
}

問題在 : import錯誤,可以查詢oracle官方文件java.util.stream知道IntStream在java.util.stream底下,所以要import java.util.stream.*

import java.util.stream.*;
public class StreamTest2
{
    public static void main(String[] args)
    {
       IntStream.range(1, 4).forEach(s->System.out.println(s));
       //or
       IntStream.range(1, 4).forEach(System.out::println);
       /* 結果:1,2,3 */
    }
}

線上測試連結

謝謝前輩指導,感恩

我要發表回答

立即登入回答