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为空,添加这样的语句测试
但是还是不知道怎么解决,怎么才能进行循环呢

解决方案 »

  1.   


     System.out.println("请输入内容");
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      String inputStr = br.readLine();
      System.out.println(inputStr);
      

  2.   

    package com.calculator;import java.io.BufferedReader;
    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);
    }
    }
    }
    为什么要提示错误呢