sum一开始光带有一个null,应该是sum=sum+i导致的,我最后只能将其转换位char数组,跳过null输出后面的。
package t;
import java.util.Scanner;
public class test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int []a= new int[10];
String sum = null ;
for(int i=0;i<10;i++) {
int temp = sc.nextInt();
if(temp!=0) {
a[i] = temp;
}
}
//判断这其中有没有0,没有0的话从最小不为0的地方依次加入;有0的时候,先将除0之外最小的一个加入,然后加入0,等0没有之后再加入其它的数字
if(a[0]==0) {
for(int i=1;i<10;i++) {
if(a[i]!=0) {
sum=sum+i;
a[i]--;
i--;
}
}
}else {
for(int i=1;i<10;i++) {
if(a[i]!=0) {
sum=sum+i;
a[i]--;
break;
}
}
while(a[0]!=0) {
sum=sum+0;
a[0]--;
}
for(int i=1;i<10;i++) {
if(a[i]!=0) {
sum=sum+i;
a[i]--;
i--;
}
}
}
char []b=sum.toCharArray();
for(int i =4;i<sum.length();i++) {
System.out.print(b[i]);
}
}
}