我需要一个具有以下属性的String数组:
除了手动输入外,还有更简单的方法吗?像:
String[] s = {"1234","1235",1236",1237",1238",1239","1243","1245"};
抱歉我的英文!
答案 0 :(得分:1)
**** ****编辑 刚刚看到它是在Java中。因此,使用此函数:String.valueOf(number)将整数转换为字符串,如果循环中没有任何数字重复。
不确定你在做什么语言,但我假设没有重复但没有回复。 所以你可以做的是有一个从0到9999的循环,然后检查所有数字,同时检查每个数字是否有重复,如果这样丢弃数字(不要将它存储到数组中)。 您可以在其函数中将整数转换为多种语言的字符串,这样您就可以将其存储到数组中。 祝好运。 希望这有所帮助(从我的头脑中最快的解决方案......可能会有更高效的解决方案)
答案 1 :(得分:1)
以下代码将生成符合您规范的数组。
public class Test {
public static void main(String[] args) {
List<String> result = new ArrayList<>();
Set<Character> set = new HashSet<>();
for (int i = 1234; i <= 9876; i++) {
set.clear();
String iAsString = Integer.toString(i);
char[] chars = iAsString.toCharArray();
boolean valid = true;
for (char c : chars) {
if (c == '0' || !set.add(c)) {
valid = false;
break;
}
}
if (valid) {
result.add(iAsString);
}
}
String[] yourStringArray = result.toArray(new String[result.size()]);
System.out.println(Arrays.toString(yourStringArray));
}
}
答案 2 :(得分:0)
尝试使用此方法为您的结构创建随机数:
ArrayList<Integer> rawNumbers = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5,6,7,8,9));
public String createRandomNumberSring()
{
String result = "";
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.addAll(rawNumbers);
for(int i = 0; i < 4; i++)
{
int index = (int)(Math.random() * (numbers.size() + 1));
result += numbers.get(index).toString();
numbers.remove(index);
}
return result;
}