请问如下代码
import java.io.*;
class Sumx
{ int s=0,x=0;
boolean flag=true;
public int readInt()
{
int a=1;
while(flag)
{
try
{
x=System.in.read();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
switch(x)
{
case '\r':
case '\n':
flag=false;
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
s=s*10+(x-'0');
break;
default:
System.out.println("输入了错误的数据 "
;
flag=false;
}
}
return s;
}
public static void main(String[] args) throws Exception
{
int x,y;
Sumx s=new Sumx();
System.out.println("请输入 X 的值"
;
x=s.readInt();
System.out.println("请输入 Y 的值"
帮楼主改了一下,你试下可以运行成功的。(改的地方标记了,你应该能看懂的)
import java.io.*;
class Sumx
{
public int readInt()throws Exception
{
boolean flag=true; //此处修改
int s=0,x=0;
//System.out.println(" flag= "+flag+" s="+s+" x="+x);
while(flag)
{
try
{
x=System.in.read();
//System.out.println("x="+x);
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
switch(x)
{
//case 10:
case '\n':
case '\r':
flag=false;
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
s=s*10+(x-'0');
break;
default:
System.out.println("输入了错误的数据 "
;
flag=false;
}
}
System.in.skip(1); //此处修改
return s;
}
public static void main(String[] args) throws Exception
{
int x,y;
Sumx s=new Sumx();
System.out.println("请输入 X 的值"
;
x=s.readInt();
System.out.println("请输入 Y 的值"