Chào mọi người, tui hiện đang học ngôn ngữ java. Chuyện là khi đang làm bài hướng dẫn ở trang codelearn.io chương method:
Đề là Bạn hãy viết phương thức hiển thị ra màn hình những xâu có độ dài lớn hơn 3 trong mảng arr .
Nhận input gồm số lượng string và nội dung các string này.
Tui có tạo thêm cái Scanner bên method khác:
- Khi run trên codelearn thì nó có báo là
java.util.NoSuchElementException
- Khi run trên IDE netbean Java with Maven thì vẫn chạy như thường.
Code:
private static void showString( String[] str ){
int amount = str.length;
for( int i = 0 ; i < amount ; i++ ){
if( str[i].length() > 3 ){
System.out.print( str[i] + " " );
}
}
}
public static void getString( String[] str ){
Scanner scan = new Scanner( System.in );
int amount = str.length;
for( int i = 0 ; i < amount ; i++ ){
str[i] = scan.next();
}
}
public static void main( String args[] ){
Scanner scan = new Scanner( System.in );
int amount = scan.nextInt();
String str[] = new String[ amount ];
getString( str );
showString( str );
}
Sau đó tui dùng cách truyền Scanner ở main qua, thì:
- Khi run trên codelearn hay netbeans Java with Marven( cả JDK 8 vả JDK 14) thì chạy được.
- Khi run trên netbeans Java with Gradle( JDK 14) thì lại bị
java.util.NoSuchElementException
.
Code single Scanner:
private static void showString( String[] str ){
int amount = str.length;
for( int i = 0 ; i < amount ; i++ ){
if( str[i].length() > 3 ){
System.out.print( str[i] + " " );
}
}
}
public static void getString( String[] str, Scanner scan ){
int amount = str.length;
for( int i = 0 ; i < amount ; i++ ){
str[i] = scan.next();
}
}
public static void main( String args[] ){
Scanner scan = new Scanner( System.in );
int amount = scan.nextInt();
String str[] = new String[ amount ];
getString( str, scan );
showString( str );
}
Java with Gradle got Error:
Có vấn đề gi với việc tạo ra nhiều Scanner vậy?
Có ai giúp giải thích cho tui hoặc ném link vào mặt tui cũng được
Xin cảm ơn.