大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import java.util.ArrayList;
创新互联建站企业建站,10余年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于网站设计、成都网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//while(true){
Scanner sc = new Scanner(System.in);
System.out.println(jisuan(sc.next()));
}
private static float jisuan(String cont){
List arryList = new ArrayList();
char[] str = cont.toCharArray();
Character astr;
String s = "";
for(int i=0;istr.length;i++){
astr = str[i];
if(astr=='+'||astr=='-'||astr=='*'||astr=='/'||astr=='=')
{
arryList.add(s);
s="";
if(astr!='='){
arryList.add(astr.toString());
}
}else{
s += astr;
}
}
float count = 0;
List jjlist = chengchuModel(arryList);
String ssf = "";
String var1 = "";
String var2 = "";
if(jjlist.size()=3){
for(int i=1;ijjlist.size();i=i+2){ //jjlist中就只有加减法了
ssf = (String)jjlist.get(i); // 获得jjlist中的加法或减法字符进行判断
var2 = (String)jjlist.get(i+1);
if(i==1){ //判断第一个运算符是加号还是减号,两个情况下的运行也是不同的
var1 = (String)jjlist.get(i-1); //只有第一次加减的时候才会去取前一个数字进行运算
if(ssf.trim().equals("-")){
count = Float.parseFloat(var1) - Float.parseFloat(var2);
}else{
count = Float.parseFloat(var1) + Float.parseFloat(var2);
}
}else{
if(ssf.trim().equals("-")){
count = count - Float.parseFloat(var2);
}else{
count = count + Float.parseFloat(var2);
}
}
}
}else{
count = Float.parseFloat(jjlist.get(0).toString());
}
return count;
}
private static boolean checkstr(String str){
if(!str.trim().equals("*")!str.trim().equals("/"))
return true;
return false;
}
private static boolean cheng(String str){
if(str.trim().equals("*"))
return true;
return false;
}
private static boolean chu(String str){
if(str.trim().equals("/"))
return true;
return false;
}
private static List chengchuModel(List list){ //将输入的算术的所有乘除法算出来只剩下加减法
String var1 ="";
String var2 ="";
String var3 ="";
for(int i=1;ilist.size();i=i+2){
var1 = (String)list.get(i-1);
var2 = (String)list.get(i);
var3 = (String)list.get(i+1);
if(!checkstr(var2)){
if(cheng(var2)){
list.set(i-1, String.valueOf((Float.parseFloat(var1)*Float.parseFloat(var3))));
list.remove(i);
list.remove(i);
i = i-2;
//
}else if(chu(var2)){
list.set(i-1, String.valueOf((Float.parseFloat(var1)/Float.parseFloat(var3))));
list.remove(i);
list.remove(i);
i = i-2;
}
}
}
return list;
}
}
测试:
输入:33-6*5+7/4=
结果:4.75
第一种:
public class ShuRu{
public static void main(String arg[]){
System.out.println(arg[1]);
}
}
第二种:
import java.util.Scanner;
public class ShuRu{
public static void main(String arg[]){
Scanner in=new Scanner(System.in);
String str=in.next();
System.out.println(str);
}
}
直接输入 a,b
输出为 a,bstem.in.read();
扩展资料:
有输入就有输出,输出语句为
Java中的输出语句有以下四种:
1、System.out.println(1111);//换行打印
2、System.out.print(1111);//不换行打印
3、System.out.write(2222);//字节输出
4、System.out.printf("%+8.3f\n", 3.14);//按格式输出
注:
System.out.println(); 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法,将返回值输出到控制台
System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。
System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。
可以调用
1.2构造Scanner类的对象,附属于标准输⼊流System.in,之后通过其中的⽅法获得输⼊。
1.3使⽤close();⽅法关闭对象。
这是Java经典的取输入方式,在JDK1.0中引入。此方法通过将 System.in(标准输入流)包装在 InputStreamReader 中来使用,InputStreamReader 包装在 BufferedReader 中,我们可以在命令行中读取用户的输入
常⽤的⽅法:nextLine();(字符串),nextInt();(整型数),nextDouble();(双精度型数);nextFloat()转换成浮点型;nextBoolean()转换成布尔型。