import java.util.*;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
for (int i = 1;i<100 ; i++) {
int a=i*i;
int b=i*i*i;
String cString=a+""+b;
//将两个字符串连起来的方法
if (Jc(cString)) {
System.out.println(i);
break;
}
}
}
public static boolean Jc(String num) {
char[] clist=num.toCharArray();
Arrays.sort(clist);
num=String.valueOf(clist);
//这里转换为string是因为字符没有equals这个方法
if (num.equals("0123456789")) {
return true;
}
return false;
}
}
1.contains是检查数组中是否含有这个字符串,所以字符串中可能会有重复的数字但查不出来。所以这里用equals。
2.因为equals是检查字符串是否完全相同包括顺序,所以要把字符串换成字符数组进行排序