下面程序做一个响应键盘输入整数,当连续输入的数字3次为0的时候就跳出循环,如何解决?
为什么我的运行一输入数字就抛出异常呢?
import java.io.*; 
public class test1 
{
static InputStreamReader in; 
static BufferedReader reader; 
static 
{in=new InputStreamReader(System.in); 
reader=new BufferedReader(in); 

static String readString() 
{String s=""; 
try 
{ s=reader.readLine(); } catch(IOException e) 
{System.out.println(e); 
System.exit(0); 

return s; 
}
static int readInt() 
{String s=readString(); 
int i=0; 
try{ 
i=Integer.parseInt(s); 

catch(Exception e) 
{System.out.println("输入的数据类型不对,程序将退出"); 
System.exit(0); 

return i; 
}  
} class InoutData 
{public static void main(String args[]) 

int a[][]=new int[4][5]; 
int[] bin=new int[20];
int k=0;
for(int i=0;i<2;i++) 
for (int j=0;j<3;j++)

a[i][j] = test1.readInt();
bin[k]=a[i][j];
if(bin[k]==0||bin[k--]==0||bin[k-2]==0)
{
System.out.println("开始");
}
k++;


}

解决方案 »

  1.   

    int i=0;i=Integer.parseInt(s); 出错了,Integer.parseInt(s)返回的是Integer类型而不是int型
      

  2.   

    我觉得你的main放错位置,一般情况下main是放在public class下的。你改一下试试看。
      

  3.   

    把这两行去掉:
    ~~~~~~~~~~~~~~

    class InoutData 
    ~~~~~~~~~~~~~~
      

  4.   

    ~~~~~~~~~~~~~~

    class InoutData 
    ~~~~~~~~~~~~~~
    bin[k]==0||bin[k--]==0||bin[k-2]==0这里出问题了
    import java.io.*; 
    public class test1 
    {
    static InputStreamReader in; 
    static BufferedReader reader; 
    static 
    {
    in=new InputStreamReader(System.in); 
    reader=new BufferedReader(in); 

    static String readString() 
    {
    String s=""; 
    try 

    s=reader.readLine(); 

    catch(IOException e) 
    {
    System.out.println(e); 
    System.exit(0); 

    return s; 
    }
    static int readInt() 
    {
    String s=readString(); 
    int i=0; 
    try{ 
    i=Integer.parseInt(s); 

    catch(Exception e) 
    {
    System.out.println("Stype Error"); 
    System.exit(0); 

    return i; 
    }  
    public static void main(String args[]) 

    try
    {
    int a[][]=new int[4][5]; 
    int[] bin=new int[20];
    int k=0;
    for(int i=0;i<2;i++) {
    for (int j=0;j<3;j++)

    a[i][j] = test1.readInt();
    bin[k]=a[i][j];
    System.out.println(bin[k]);
    k++;
    }
    if(bin[k]==0||bin[k--]==0||bin[k-2]==0)
    {
    System.out.println("Start");
    }
    }
    }
    catch(Exception ex)
    {
    ex.printStackTrace();
    }
    }
    }