如何确定5位数整数中的最大位数

  • 本文关键字:整数 何确定 5位 java
  • 更新时间 :
  • 英文 :


如何定位5位整数中的最大值?它总是打印CCD_ 1,即使最大的数字不是最后一个数字。

Scanner in = new Scanner(System.in);
int num = in.nextInt();
int digit = 0, lastdigit = 0, middledigit = 0, firstdigit = 0; 
while(num > 0) {
digit = num % 10;
if(digit > lastdigit) {
lastdigit = digit;
System.out.println("Rightmost");
return;
}
if(digit > middledigit) {
middledigit = digit;
System.out.println("Middle");
return;
}
if(digit > firstdigit) {
firstdigit = digit;
System.out.println("Leftmost");
return;
} else {
System.out.println("Unknown");
}
num /= 10;
}

输入:14632

输出:Rightmost

预期输出:Middle

如果以上都不正确,则会打印未知

输入:77787

输出:Unknown

您可以创建一个包含5位数字的数组,获得最大值,然后:

Arrays.asList(array(.indexOf(最大值(

您也可以使用:

int[] my_array={1,4,6,3,2};
int index_of_largest=0;
int maximum=array[0];    
for(int i=1;i<array.length;i++){
if(my_array[i]>maximum){
index_of_largest =i;
maximum=array[i];
}
}

由于lastdigit为0,代码无法按预期工作,如果您检查的数字大于0,程序将在while循环到达if(digit > lastdigit)中的return;行时返回终止while循环。这样可以防止while循环从程序到其他数字以找到正确答案。

此外,while循环中的当前if语句无法确定它现在正在检查哪个数字。您可能需要使用for循环,或者在while循环之前定义一个计数器变量。