我对编程非常陌生,但我正在努力提高我作为程序员的技能。最近,我给自己一个挑战来确定给定数字的哪些倍数由不同的数字组成。我已经完成了大部分工作,但我仍然需要使代码适用于每个输入数字的倍数的数字。到目前为止我工作的代码如下:
Integer numberA = 432143;
Integer numberB = numberA;
Integer[] digitArray = new Integer[numberA.toString().length()];
int index;
for (index = 0; index < digitArray.length; index++) {
digitArray[index] = (numberA % 10);
numberA /= 10;
}
int repeats = 0;
for (int i = 0; i < digitArray.length; i++) {
for (int j = 0; j < digitArray.length; j++) {
if ((i != j) && (digitArray[i]==digitArray[j])) repeats = repeats + 1;
}
}
if (repeats == 0) {
System.out.println(numberB);
}
这将确定该数字是否由不同的数字组成,如果是,则将其打印出来。我花了很多时间试图让其余的代码工作,这就是我想出的:
Integer number = 1953824;
Integer numberA = number;
Integer numberB = numberA;
for (Integer numberC = number; numberC.toString().length() < 11;
numberC = numberC + number) {
Integer[] digitArray = new Integer[numberA.toString().length()];
int index;
for (index = 0; index < digitArray.length; index++) {
digitArray[index] = (numberA % 10);
numberA /= 10;
}
int repeats = 0;
for (int i = 0; i < digitArray.length; i++) {
for (int j = 0; j < digitArray.length; j++) {
if ((i != j) && (digitArray[i]==digitArray[j])) repeats = repeats + 1;
}
}
if (repeats == 0) {
System.out.println(numberB);
}
}
我不知道为什么,但是如果数字由不同的数字组成,他只会打印很多次,如果不是,则将其留空。如果有人能告诉我为什么会发生这种情况,或者甚至告诉我我需要做些什么来解决它,那就太好了。请记住,我对编程非常陌生,因此请对您使用的任何不寻常的术语进行简短解释。我渴望学习,但我目前知道的很少。感谢您的宝贵时间,我非常感谢您能给我的任何帮助。