高精度的可以乘以0,所以还是有前导0的情况,所以在最后输出的时候加一个开关,判断前导0的情况
开关默认是true
刚开始输出,判断只要是0就跳到下层循环
一旦可以打印出数字,说明打印的肯定不是0,此时要将开关改成false,确保之后的数字都可以输出
boolean t = true;
for(int k = c.size() - 1; k >= 0 ; k--){
if(c.get(k) == 0 && t && k >= 1) continue; //k >= 1 至少保留最后一个0
System.out.print(c.get(k));
t = false;
}
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String a = br.readLine();
int bb = Integer.valueOf(br.readLine());
ArrayList<Integer> aa = new ArrayList<Integer>();
for (int i = a.length() - 1; i >= 0; i--){
aa.add(a.charAt(i) - '0');
}
ArrayList<Integer> c = add2(aa,bb);
boolean t = true;
for(int k = c.size() - 1; k >= 0 ; k--){
if(c.get(k) == 0 && t && k >= 1) continue;
System.out.print(c.get(k));
t = false;
}
}
public static ArrayList<Integer> add2(ArrayList<Integer> aa, int bb){
ArrayList<Integer> c = new ArrayList<Integer>();
int t = 0;
for(int i = 0; i < aa.size(); i++){
t += aa.get(i) * bb;
c.add((t % 10));
t /= 10;
}
if (t > 0) c.add(t);
int i = 0;
return c;
}
}