package com.calculator;import java.io.Console;public class Test{
public static void main(String[] args) {
while(true){
//接收输入表达式
System.out.println("准备输入:");
Console console=System.console();
if(console==null){
System.out.println("我**,为什么用不了控制台");
return;
}
String expression=System.console().readLine();
//初始化实例
ICalculator calculator;
if(expression.indexOf("+")!=-1){
calculator=new Plus(); //调用加法计算器
}else if(expression.indexOf("-")!=-1){
calculator=new Minus();//调用减法计算器
}else if(expression.indexOf("*")!=-1){
calculator=new Multiply();//调用乘法计算器
}else if(expression.indexOf("/")!=-1){
calculator=new Devide();//调用除法计算器
}else{
calculator=new Default();//调用默认类
}
//开始运算
int value=calculator.calculate(expression);
System.out.println("="+value);
}
}
}
本来运行提示错误
Console console=System.console();
if(console==null){
System.out.println("我**,为什么用不了控制台");
return;
}
String expression=System.console().readLine();
后来在网上找了说什么控制台的console为空,添加这样的语句测试
但是还是不知道怎么解决,怎么才能进行循环呢
public static void main(String[] args) {
while(true){
//接收输入表达式
System.out.println("准备输入:");
Console console=System.console();
if(console==null){
System.out.println("我**,为什么用不了控制台");
return;
}
String expression=System.console().readLine();
//初始化实例
ICalculator calculator;
if(expression.indexOf("+")!=-1){
calculator=new Plus(); //调用加法计算器
}else if(expression.indexOf("-")!=-1){
calculator=new Minus();//调用减法计算器
}else if(expression.indexOf("*")!=-1){
calculator=new Multiply();//调用乘法计算器
}else if(expression.indexOf("/")!=-1){
calculator=new Devide();//调用除法计算器
}else{
calculator=new Default();//调用默认类
}
//开始运算
int value=calculator.calculate(expression);
System.out.println("="+value);
}
}
}
本来运行提示错误
Console console=System.console();
if(console==null){
System.out.println("我**,为什么用不了控制台");
return;
}
String expression=System.console().readLine();
后来在网上找了说什么控制台的console为空,添加这样的语句测试
但是还是不知道怎么解决,怎么才能进行循环呢
System.out.println("请输入内容");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String inputStr = br.readLine();
System.out.println(inputStr);
import java.io.Console;
import java.io.InputStreamReader;public class Test{
public static void main(String[] args) {
while(true){
//接收输入表达式
System.out.println("准备输入:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String expression = br.readLine(); System.out.println(expression);
//初始化实例
ICalculator calculator;
if(expression.indexOf("+")!=-1){
calculator=new Plus(); //调用加法计算器
}else if(expression.indexOf("-")!=-1){
calculator=new Minus();//调用减法计算器
}else if(expression.indexOf("*")!=-1){
calculator=new Multiply();//调用乘法计算器
}else if(expression.indexOf("/")!=-1){
calculator=new Devide();//调用除法计算器
}else{
calculator=new Default();//调用默认类
}
//开始运算
int value=calculator.calculate(expression);
System.out.println("="+value);
}
}
}
为什么要提示错误呢