做一个java相关的程序:当不停地输入数据当碰到字母exit时,程序结束停止录入,用while循环

2025-03-21 02:01:30
推荐回答(5个)
回答1:

// 这里我对你的程序进行了修改,利用了substring();截取字符串来完成,有什么不懂的就追问
import java.util.Scanner;
public class Main{
public static boolean equals(String str){ //**我们在这里来判断是否退出
if("exit".equals(str.trim())){
System.out.println("退出系统");
System.exit(1);
return false;
}else{
return true;
}
}

public static void main(String[] args) throws Exception{
//a,b用来存储两个整数;len用来存储输入的表达式长度;result用来存储运算结果
int a=0,b=0,len=0,result=0;
String str=null; //str用来存储输入的表达式
String s[]=new String[2]; //数组s[]用来存储拆分表达式后的结果
char c=' '; //c用来存储运算符
System.out.println("请输入算术表达式或指令:");
Scanner scan=new Scanner(System.in);
str=scan.nextLine(); //从键盘上获取用户输入的表达式;
while (equals(str)) //循环条件
{
//将输入的信息拆分出两个整数和运算符,再根据运算符计算结果,并输出
int f = 0; // 0表示+,1表示-,2表示*,3表示/
if(str.indexOf("+")!=-1){ //判断是什么符号
s[0] = str.substring(0,str.indexOf("+"));
s[1] = str.substring(str.indexOf("+")+1);
f = 0;
}else if(str.indexOf("-")!=-1){
s[0] = str.substring(0,str.indexOf("-"));
s[1] = str.substring(str.indexOf("-")+1);
f = 1;
}else if(str.indexOf("*")!=-1){
s[0] = str.substring(0,str.indexOf("*"));
s[1] = str.substring(str.indexOf("*")+1);
f = 2;
}else if(str.indexOf("/")!=-1){
s[0] = str.substring(0,str.indexOf("/"));
s[1] = str.substring(str.indexOf("/")+1);
f = 3;
}
int A=0,B=0; //来接受输入的两个数
A = Integer.parseInt(s[0]);
B = Integer.parseInt(s[1]);
switch(f){
case 0:
System.out.println(A + "+" + B + "=" + (A+B)); break;
case 1:
System.out.println(A + "-" + B + "=" + (A-B)); break;
case 2:
System.out.println(A + "*" + B + "=" + (A*B)); break;
case 3:
try{
System.out.println(A + "/" + B + "=" + (A/B)); break;
}catch(Exception e){
System.out.println("除数不能为0");
}
}
System.out.println("请输入算术表达式或指令:");
str=scan.nextLine();
}
}
}

回答2:

第一部分:!str.equals("exit")
第二部分:
char op = 0;
int num1 = null;
int num2 = null;
String[] temp = null;
if(str.indexOf('+')>0) {op = '+'; temp = str.split("\\+");}
else if(str.indexOf('-')>0) {op = '-'; temp = str.split("\\-");}
else if(str.indexOf('*')>0) {op = '*'; temp = str.split("\\*");}
else if(str.indexOf('\\/')) {op = '/'; temp = str.split("\\/");}
num1 = Integer.parseInt(temp[0]);
num2 = Integer.parseInt(temp[1]);
int result = 0;
if(op == '+') {result = num1 + num2;}
else if(op=='-') {result = num1 - num2;}
else if(op == '*') { result = num1 * num2;}
else if(op == '/') {result = num1 / num2;}
System.out.println(num1+""+op+num2+"="+result);

回答3:

while(str.equals("exit"))

回答4:

填写的内容是:

!str.equals("exit");

回答完毕

回答5:

不很会