package StringTset3.Test03;
import java.util.Scanner;
/*给定两个以字符形式表示的非负整数num1和num2,返回num1和num2乘积,乘积也表示为字符串形式,不考虑乘积结果超过int范围情况*/
public class tset05 {
public static void main(String[] args) {
//键盘录入俩个字符串,判断是否为数字字符
Scanner sc = new Scanner(System.in);
String num1;
String num2;
while (true) {
System.out.println("请输入第一个字符串:");
num1 = sc.next();
if (checkInt(num1)) {
break;
}
}
while (true) {
System.out.println("请输入第二个字符串:");
num2 = sc.next();
if (checkInt(num2)) {
break;
}
}
//将字符转换为数字
int result1=transformInt(num1)*transformInt(num2);
String result2=""+result1;
System.out.println("num1*num2="+result2);
}
//检查字符串中是否包含非数字内容
public static boolean checkInt(String str) {
char[] array = str.toCharArray();
for (int i = 0; i < array.length; i++) {
if (array[i] < '0' || array[i] >= '9') {
System.out.print("请重新输入,");
return false;
}
}
return true;
}
//将字符转换为数字
public static int transformInt(String str){
int result=0;
String temp="";
//str:0123
char [] arr=str.toCharArray();
for (int i = 0; i < arr.length; i++) {
if(arr[i]!='0'){
result=result*10+(arr[i]-48);
}
}
return result;
}
}
给定两个以字符形式表示的非负整数num1和num2,返回num1和num2乘积,乘积也表示为字符串形式,不考虑乘积结果超过int范围情况
于 2024-04-02 09:51:53 首次发布