Java 如何让我的代码正确使用不同位数的数字?
该程序搜索下一个最小的数字,其数字按升序排列。它可以正常工作,但是对于没有三位数的数字,它当然不起作用,因为我的if语句不能缩放。我怎么能让他们这么做Java 如何让我的代码正确使用不同位数的数字?,java,loops,variables,if-statement,Java,Loops,Variables,If Statement,该程序搜索下一个最小的数字,其数字按升序排列。它可以正常工作,但是对于没有三位数的数字,它当然不起作用,因为我的if语句不能缩放。我怎么能让他们这么做 import java.util.ArrayList; import java.util.Arrays; public class Main{ public static void main(String[] args){ String String="143"; int Zahl = Integer.p
import java.util.ArrayList;
import java.util.Arrays;
public class Main{
public static void main(String[] args){
String String="143";
int Zahl = Integer.parseInt(String);
for(int j=0; j<1000;j++){
int digitscount=0;
if(Zahl>9){
int NeueZahl = Zahl;
ArrayList<Integer> List = new ArrayList<Integer>();
while (NeueZahl > 0) {
List.add(NeueZahl % 10);
NeueZahl = NeueZahl / 10;
digitscount++;
}
int[] ret = new int[List.size()];
int a=List.size()-1;
for (int i=0; i < List.size(); i++){
ret[i] = List.get(a).intValue();
a--;
}
if(ret[0]>ret[1]||ret[1]>ret[2]){
Zahl--;
}
if(ret[0]<ret[1]&&ret[1]<ret[2]){
System.out.println(Zahl);
break;
}
}
}
}
}
import java.util.ArrayList;
导入java.util.array;
公共班机{
公共静态void main(字符串[]args){
String=“143”;
int Zahl=Integer.parseInt(字符串);
对于(int j=0;j9){
int NeueZahl=Zahl;
ArrayList=新建ArrayList();
而(NeueZahl>0){
列表。添加(NeueZahl%10);
NeueZahl=NeueZahl/10;
digitscount++;
}
int[]ret=new int[List.size()];
int a=List.size()-1;
对于(int i=0;iret[1]| | ret[1]>ret[2]){
扎尔--;
}
if(ret[0]而不是硬编码ret[N]
,考虑一般情况。关于在潜在值上循环并确保每个数字大于前一个数字的事情?另外,将该逻辑移到单独的方法中,以便您可以更轻松地测试它。而不是硬编码ret[N]
,考虑一般情况。关于在潜在值上循环并确保每个数字都大于前一个数字的内容?此外,将该逻辑移到单独的方法中,以便您可以更轻松地测试它。