十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
import java.io.*;
创新互联公司专注于企业营销型网站、网站重做改版、冷水江网站定制设计、自适应品牌网站建设、HTML5建站、成都做商城网站、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为冷水江等各大城市提供网站开发制作服务。
public class Yunsuan{
public static void main(String[] args){
try{
String x,y;
double a,b,he,cha,ji,shang;
InputStreamReader is= new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(is);
System.out.println("请输入:");
x=in.readLine();
a=Double.parseDouble(x);
y=in.readLine();
b=Double.parseDouble(y);
he=a+b;
cha=a-b;
ji=a*b;
shang=a/b;
System.out.println(a+"和"+b+"的和是:"+he);
System.out.println(a+"和"+b+"的差是:"+cha);
System.out.println(a+"和"+b+"的积是:"+ji);
System.out.println(a+"和"+b+"的商是:"+shang);
}
catch(IOException e){
System.out.println(e);
}
}
}
编译没有问题了,但运行出错
可以这么写:
import java.io.*;
import java.util.Scanner;
public class Yunsuan{
public static void main(String[] args) throws IOException{
String x;
String y;
double a,b,he,cha,ji,shang;
Scanner scanner=new Scanner(System.in);
/* InputStreamReader is= new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(is);*/
System.out.println("请输入:");
x=scanner.next();
a=Double.valueOf(x);
y=scanner.next();
b=Double.valueOf(y);
he=a+b;
cha=a-b;
ji=a*b;
shang=a/b;
System.out.println(a+"和"+b+"的和是:"+he);
System.out.println(a+"和"+b+"的差是:"+cha);
System.out.println(a+"和"+b+"的积是:"+ji);
System.out.println(a+"和"+b+"的商是:"+shang);
}
}
public class Arithmetic {
public static void Ari(){
Scanner scan = new Scanner(System.in);
StringBuffer buffer = new StringBuffer();
DecimalFormat dec = new DecimalFormat("0.00");//格式化结果保留两位小数
String all = "";//所有的计算表达式连在一起
System.out.println("请输入表达式的个数,只能为正整数");
int n = scan.nextInt();
System.out.println("请依次输入要计算的表达式");
for(int i=0;in+1;i++){
buffer = buffer.append(scan.nextLine()+",");
}
all = buffer.substring(0, buffer.lastIndexOf(","));
String allAri[] = all.split(",");
String ari = "";//不同的算法表达式
float add;//加法的计算结果
float subtract;//减肥的计算结果
float multi;//乘法的计算结果
float divison;//除法的计算结果
int model;//模运算的计算结果
for(int j=0;jallAri.length;j++){
ari = allAri[j];
if(ari.contains("+")){
String tempAry[] = ari.split("[+]");
add = Float.valueOf(tempAry[0])+Float.valueOf(tempAry[1]);
System.out.println(dec.format(add));
}else if(ari.contains("-")){
String tempAry[] = ari.split("[-]");
subtract = Float.valueOf(tempAry[0])-Float.valueOf(tempAry[1]);
System.out.println(dec.format(subtract));
}else if(ari.contains("*")){
String tempAry[] = ari.split("[*]");
multi = Float.valueOf(tempAry[0])*Float.valueOf(tempAry[1]);
System.out.println(dec.format(multi));
}else if(ari.contains("/")){
String tempAry[] = ari.split("[/]");
divison = Float.valueOf(tempAry[0])/Float.valueOf(tempAry[1]);
System.out.println(dec.format(divison));
}else if(ari.contains("%")){
String tempAry[] = ari.split("[%]");
model = Integer.valueOf(tempAry[0])%Integer.valueOf(tempAry[1]);
System.out.println(model);
}
}
}
public static void main(String[] args) {
Ari();
}
}
测试结果截图如下:
你的测试用例的输入的表达式的个数是4个,但下面的计算表达式好像少了一个,所以我加了一个除法的计算表达式,若理解有误,还望说明。
import java.text.DecimalFormat;
import java.util.Scanner;
public class Zhidao {
public static void main(String[] args) {
String condition = "";
Zhidao zhidao = new Zhidao();
do{
Scanner scanner = new Scanner(System.in);
try{
System.out.print("请输入第一个数:");
double x = scanner.nextDouble();
System.out.print("请输入第二个数:");
double y = scanner.nextDouble();
System.out.print("请输入运算符:");
String s = scanner.next();
char z = s.charAt(0);
zhidao.yunsuan(x, y, z);
}catch(Exception e){
System.out.println("请输入正确的数据!");
}
System.out.print("是否继续?continue:继续,任意字符:结束");
condition = scanner.next();
}while("continue".equals(condition));
}
public static void yunsuan(double x,double y,Character z){
DecimalFormat r=new DecimalFormat();
r.applyPattern("#0.00");
if(z.equals('+')){
System.out.println(x+"+"+y+"=" + r.format((x+y)));
} else if(z.equals('-')){
System.out.println(x+"-"+y+"=" + r.format((x-y)));
} else if(z.equals('*')){
System.out.println(x+"*"+y+"=" + r.format((x*y)));
} else if(z.equals('/')){
if(y==0){
System.out.println("被除数不能为0");
} else{
System.out.println(x+"/"+y+"=" + r.format((x/y)));
}
}else{
System.out.println("无法识别改运算符");
}
}
}