点击跳转
package pat; import java.util.Scanner; /** * @Description */ public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String A=scanner.next(); int Da=scanner.nextInt(); String B=scanner.next(); int Db=scanner.nextInt(); System.out.println(splice(A, Da) +splice(B, Db)); } //计算关键数出现的次数,然后合成数字 public static int splice(String num,int key){ int result=0; int count=0; char ch=(char) (key+48);//已知字符'0'对应的整型是48 for (int i=0;i<num.length();i++){ if (num.charAt(i)==ch){ result+=key*Math.pow(10,count);//Math.pow(底数,指数) count++; } } return result; } }
看了别人的题解不更了这样写更为简单
用long型接收(int型也可以,可表示10位数),然后对数字循环取10的余数判断相等,循环退出条件每次除以10。