怎么判断出来,想结束,我输入结束就能跳出。我不输入就能一直计算,(现在可以一直计算)。老师留的作业,我自己写到这了下面不是很理解求指导下!!!
解决方案 »
- db2异常:数据转换无效:参数实例 null 对于所请求的转换是无效的
- 谁可以讲一下什么叫持有对方的引用?
- Java连接oracle 10g数据库问题
- 在使用struts的html标签时,能不能实现联动菜单---100分 急!!!!!!!!
- WAS启动错误(javax.naming.NameNotFoundException) 在线等
- 请教,java做的东西能放在asp空间上吗?
- 毕设要用J2EE,但没学过,求J2EE的配置问题。
- 请高手知道一下:我学过c,c++.我该怎样学java
- struts 中的 ActionForm 的问题
- JB7+weblogic7下测试SessionBean,出现一个不能解析的怪名字,不知这个怪名字如何产生的
- java项目文件夹用的build和WebContent那么这个项目用了什么框架哇
- HP ALM和Jenkins master,怎么关联调用
String s = "";
Scanner sc = new Scanner(System.in);
while (true) {
while(true) {
System.out.print("please input a number:");
try {
m = sc.nextInt();
break;
} catch (Throwable e) {
System.out.println("error input, please input again.");
}
} while(true) {
System.out.print("please input another number:");
try {
n = sc.nextInt();
break;
} catch (Throwable e) {
System.out.println("error input, please input again.");
}
} while(true) {
System.out.print("please input operator[+-*/>]:");
try {
s = sc.next();
if (!s.matches("[+-*/]")) throw new Exception("operator is not in selection.");
break;
} catch (Throwable e) {
System.out.println("error input, please input again.");
}
} try {
ScriptEngine en = new ScriptEngineManager().getEngineByName("JavaScript");
String exp = String.format("%d %s %d", m, s, n);
System.out.printf("%s = %s\s", exp, en.eval(exp));
} catch (Throwable e) {
e.printStackTrace();
} System.out.print("do you want to try again?[yes/no]:"); //控制退出循环
s = sc.nextLine();
if (s.matches("[nN][oO]")) break;
}
如果你能保证用户的输入顺序,那你就把最后一个while(true)的代码都删掉,改成以下
String s = name.nextLine();
if ("".equals(s)) break;
今天我在昨天那个基础上帮你改了,记得结贴给分
package eg4;import java.util.Scanner;public class Tests { public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner nam=new Scanner(System.in);
int a=nam.nextInt();
int d = 0;
while (true) {
String b=nam.next();
int c=nam.nextInt();
if (b.equals("no")) {//执行switch前加个if判断b是否等于no,是就跳出,否就执行switch
break;
}else {
switch (b) {
case "+":
d=a+c;
System.out.println(a+b+c+"="+d);
System.out.println(d);
break;
case "-":
d=a-c;
System.out.println(a+b+c+"="+d);
System.out.println(d);
break;
case "*":
d=a*c;
System.out.println(a+b+c+"="+d);
System.out.println(d);
break;
case "/":
d=a/c;
System.out.println(a+b+c+"="+d);
System.out.println(d);
break;
}
a=d;
}
}
}
}