我的这个程序为什么到最后不能循环了,谢谢
import java.io.*;
public class Computer
{
public static void main(String [] args) throws IOException
{
InputStreamReader str=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(str);
String a,check;
do
{
System.out.print("请输入第一个数:"+"\t");
a=br.readLine();
int num1=Integer.parseInt(a);
System.out.print("请输入希望的运算方法(1表示加法,2表示减法,3表示乘法,4表示除法):"+"\t");
a=br.readLine();
int operations=Integer.parseInt(a);
System.out.print("请输入第二个数:"+"\t");
a=br.readLine();
int num2=Integer.parseInt(a);
switch(operations)
{
case 1:
System.out.println(num1+"+"+num2+"="+(num1+num2));
break;
case 2:
System.out.println(num1+"-"+num2+"="+(num1-num2));
break;
case 3:
System.out.println(num1+"*"+num2+"="+(num1*num2));
break;
case 4:
System.out.println(num1+"/"+num2+"="+(num1/num2));
break;
default:
System.out.println("您输入的运算方法无效,所以不能计算!!!");
break;
}
System.out.println("是否继续计算?(Y/N)"+"\t");
check=br.readLine();
//char a1=Char.parseChar(check);
}while (check=="Y" || check=="y");
}
} 如果我这样作的话,会有错误,这是为什么呢?
import java.io.*;
public class Computer
{
public static void main(String [] args) throws IOException
{
InputStreamReader str=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(str);
String a;
char check;
do
{
System.out.print("请输入第一个数:"+"\t");
a=br.readLine();
int num1=Integer.parseInt(a);
System.out.print("请输入希望的运算方法(1表示加法,2表示减法,3表示乘法,4表示除法):"+"\t");
a=br.readLine();
int operations=Integer.parseInt(a);
System.out.print("请输入第二个数:"+"\t");
a=br.readLine();
int num2=Integer.parseInt(a);
switch(operations)
{
case 1:
System.out.println(num1+"+"+num2+"="+(num1+num2));
break;
case 2:
System.out.println(num1+"-"+num2+"="+(num1-num2));
break;
case 3:
System.out.println(num1+"*"+num2+"="+(num1*num2));
break;
case 4:
System.out.println(num1+"/"+num2+"="+(num1/num2));
break;
default:
System.out.println("您输入的运算方法无效,所以不能计算!!!");
break; }
System.out.println("是否继续计算?(Y/N)"+"\t");
// check=br.readLine();
check=(char)System.in.read();
//char a1=Char.parseChar(check);
}while (check=='Y' || check=='y');
}
}
import java.io.*;
public class Computer
{
public static void main(String [] args) throws IOException
{
InputStreamReader str=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(str);
String a,check;
do
{
System.out.print("请输入第一个数:"+"\t");
a=br.readLine();
int num1=Integer.parseInt(a);
System.out.print("请输入希望的运算方法(1表示加法,2表示减法,3表示乘法,4表示除法):"+"\t");
a=br.readLine();
int operations=Integer.parseInt(a);
System.out.print("请输入第二个数:"+"\t");
a=br.readLine();
int num2=Integer.parseInt(a);
switch(operations)
{
case 1:
System.out.println(num1+"+"+num2+"="+(num1+num2));
break;
case 2:
System.out.println(num1+"-"+num2+"="+(num1-num2));
break;
case 3:
System.out.println(num1+"*"+num2+"="+(num1*num2));
break;
case 4:
System.out.println(num1+"/"+num2+"="+(num1/num2));
break;
default:
System.out.println("您输入的运算方法无效,所以不能计算!!!");
break;
}
System.out.println("是否继续计算?(Y/N)"+"\t");
check=br.readLine();
//char a1=Char.parseChar(check);
}while (check=="Y" || check=="y");
}
} 如果我这样作的话,会有错误,这是为什么呢?
import java.io.*;
public class Computer
{
public static void main(String [] args) throws IOException
{
InputStreamReader str=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(str);
String a;
char check;
do
{
System.out.print("请输入第一个数:"+"\t");
a=br.readLine();
int num1=Integer.parseInt(a);
System.out.print("请输入希望的运算方法(1表示加法,2表示减法,3表示乘法,4表示除法):"+"\t");
a=br.readLine();
int operations=Integer.parseInt(a);
System.out.print("请输入第二个数:"+"\t");
a=br.readLine();
int num2=Integer.parseInt(a);
switch(operations)
{
case 1:
System.out.println(num1+"+"+num2+"="+(num1+num2));
break;
case 2:
System.out.println(num1+"-"+num2+"="+(num1-num2));
break;
case 3:
System.out.println(num1+"*"+num2+"="+(num1*num2));
break;
case 4:
System.out.println(num1+"/"+num2+"="+(num1/num2));
break;
default:
System.out.println("您输入的运算方法无效,所以不能计算!!!");
break; }
System.out.println("是否继续计算?(Y/N)"+"\t");
// check=br.readLine();
check=(char)System.in.read();
//char a1=Char.parseChar(check);
}while (check=='Y' || check=='y');
}
}
{ System.out.print("please input first number:"+"\t");
a=br.readLine();
if(a.equals(""))a=br.readLine();
int num1=Integer.parseInt(a);
你可以在这里测试(在输入Y/N处多输入几个字符。如果你只输入一个,那它readLine()时就只能读到个空串。当然在转换时会报错。
System.out.println("continue?(Y/N)"+"\t");
// check=br.readLine();
check=(char)System.in.read();
System.out.println(check+" br:"+br.readLine());
//char a1=Char.parseChar(check);
}while (check=='Y' || check=='y');