Demo4

两篇博客分别展示了处理计算表达式和字符串转数字的方法。第一篇博客通过Java实现了一个简单的计算器,能够处理加减乘除的计算表达式,但不支持连续运算和小数。第二篇博客则利用正则表达式判断输入的字符串是否为整数或小数,并进行相应的乘法操作。两篇博客都涉及到基础的输入输出和数据类型转换。
摘要由CSDN通过智能技术生成

import java.util.Scanner;

/**

  • 要求用户输入一个计算表达式,可以使用加减乘除。
  • 只处理一次运算的,不要有连续加减乘除的表达式,且不做小数计算。(例:1+2+3)
  • 例如:
  • 1+2
  • 然后经过处理计算结果并输出:1+2=3
  • @author Bonnie

/
public class Test06 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println(“请输入一个计算表达式:”);
String n = scan.nextLine();
int index=0;
if((index=n.indexOf("+"))>0) {
int num1 = parseInt(n.substring(0,index));
int num2 = parseInt(n.substring(index+1));
System.out.println(n+"="+(num1+num2));;
}
else if((index=n.indexOf("-"))>0) {
int num1 = parseInt(n.substring(0,index));
int num2 = parseInt(n.substring(index+1));
System.out.println(n+"="+(num1-num2));;
}
else if((index=n.indexOf("
"))>0) {
int num1 = parseInt(n.substring(0,index));
int num2 = parseInt(n.substring(index+1));
System.out.println(n+"="+(num1num2));;
}
else if((index=n.indexOf("/"))>0) {
int num1 = parseInt(n.substring(0,index));
int num2 = parseInt(n.substring(index+1));
if(num2==0) {
System.out.println(“除数不能为0!”);
}
System.out.println(n+"="+(num1/num2));;
}
else {
System.out.println(“您输入的计算表达式有误!”);
}
}
public static int parseInt(String str){
//最后要生成的数字
int num = 0;
//临时变量,用于计算对应位数的数字
int flag = 0;
for(int i=0;i<str.length();i++){
flag = (str.charAt(i)-48);
/

* 这里是将对应的数字计算为对应的位,例如百位数字就要用该数字乘以10的2次方
* 得到
* 可以用Math的相关方法处理(自行查看API文档)
/
for(int n=0;n<str.length()-1-i;n++){
flag
=10;
}
num+=flag;
}
return num;
}
}

在这里插入图片描述

import java.util.Scanner;

/**

  • 要求用户输入一个字符串,然后若该字符串是一个整数,则转换为整数后输出乘以10后的结果
  • 若是小数,则转换为一个小数后输出乘以5后的结果,若不是数字则输出"不是数字"
  • 需要使用正则表达式进行判断。
  • @author Bonnie

*/

public class Test01 {
public static void main(String[] args) {
String i = “\d+”;
String d = “\d+\.\d+”;
Scanner scan = new Scanner(System.in);
System.out.println(“请输入一个字符串:”);
String l = scan.nextLine();
if(l.matches(i)) {
int num = Integer.parseInt(l);
System.out.println(“转换后的整数为:”+(num10));
}
else if(l.matches(d)) {
double num1 = Double.parseDouble(l);
System.out.println(“转换后的小数是:”+(num1
5));
}
else {
System.out.println(“不是数字!”);
}
}

}
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值