java编程,从控制台读入数组怎么结束

public static void main(String[] args){
//int[] a={ 7, 4, 3, 9, 0, 6 };
//int b=5;
Scanner scan= new Scanner(System.in);
int a[]=new int[50];
System.out.print("请输入少于50个数字:");
for(int i=0;;i++){
if(scan.hasNextInt()){
a[i]=scan.nextInt();
}
else break;
}
//System.out.println();
Scanner input= new Scanner(System.in);
System.out.print("请输入一个你要查找的数字:");
int b=input.nextInt();

提示Resource leak: 'scan' is never closed和Resource leak: 'input' is never closed
运行的时候输入一串数后按回车键后没有任何反应,一直是输数字,没有后面的运行结果。

第1个回答  2012-11-13
当执行scan.hasNextInt()这个语句的时候,需要你从控制台上输入一个数字,然后按回车后,才会执行a[i]=scan.nextInt();这句
还有for循环语句中写的不对,改为
for(int i=0;i<50;i++){
if(scan.hasNextInt()){
a[i]=scan.nextInt();
}else{
break;
}
}
要不然会造成数组越界异常
第2个回答  2012-11-13
import java.util.Scanner;
public class test
{
public static void main(String[] args)
{

Scanner scan= new Scanner(System.in);
int a[]=new int[10];
System.out.print("请输入少于10个数字:");
for(int i=0;;i++)
{
if(scan.hasNextInt())
{
a[i]=scan.nextInt();
}
else break;
}
Scanner input= new Scanner(System.in);
System.out.print("请输入一个你要查找的数字:");
int b=input.nextInt();
System.out.println(b);
}
}
输入1,2,3,4,5,6,7,8,9,0可以。本回答被网友采纳
第3个回答  2012-11-13
你可以输入 数字和字母 判断 输入的是字母 就跳出
相似回答