考考计算机,由你来出题。题目格式形如:A+B的四则运算题,让计算机输出结果。
输入格式:
形如A+B的算式,A和B为整数,中间是+、-、*、/ 符号之一。算式中间没有空格。
输出格式:
一个整数。
输入样例1:
1+2
输出样例1:
3
输出样例2:
-1
输入样例3:
3*5
结尾无空行
输出样例3:
15
结尾无空行
输入样例4:
13/5
结尾无空行
输出样例4:
2
方法1:?
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str = sc.nextLine(); //一次读取一行
String[] nums = str.split("\\D+");
// \\D+:可以帮你得到[0~9]的数字字符,并切割成字符串类型
String []haha=str.split("\\d+");
// \\d+:可以帮你得到非数字字符
int num1=Integer.parseInt(nums[0]);
int num2=Integer.parseInt(nums[1]);
/*这个方法本来我也不会的(毕竟新手来着),然后去网上搜索到
这个方法 ****Integer.parseInt(nums[i])是将字符串转换成int的形式
这样的话我们就可以在接下来的运算中用到你的输入值了
*/
switch(haha[1]){//简单的switch case来判断输入的计算并找到相同类型代入计算
case "+":
System.out.print(num1+num2);
break;
case "-":
System.out.print(num1-num2);
break;
case "*":
System.out.print(num1*num2);
break;
default:
System.out.print(num1/num2);
}
}
}
?Binggo~结果就这样得到了,是不是很简单(虽然我第一次也不会,大家一定要坚持呢)
接下来一起看看第二个方法
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
int num=0;
//***************************************
/*
就在这个地方有情第二个方法的现身
*/
if(str.indexOf("+")!=-1){//我们在这里用到了检索indexof
String[] str1 = str.split("\\+");
//indexof在检索不到所找内容是会返回-1,大家应该也知道对的吧
num=Integer.parseInt(str1[0])+Integer.parseInt(str1[1]);}
if(str.indexOf("-")!=-1){String[] str1=str.split("\\-");
num=Integer.parseInt(str1[0])-Integer.parseInt(str1[1]);}
if(str.indexOf("*")!=-1){String[] str1=str.split("\\*");
num=Integer.parseInt(str1[0])*Integer.parseInt(str1[1]);}
if(str.indexOf("/")!=-1){String[] str1=str.split("\\/");
num=Integer.parseInt(str1[0])/Integer.parseInt(str1[1]);}
System.out.print(num);
}
}
好了,今天的题目就结束了,这个注释如果看不清,可以复制大家的软件上看,有什么问题请大家多多指教
|