Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基本Java,最大和最小整数_Java - Fatal编程技术网

基本Java,最大和最小整数

基本Java,最大和最小整数,java,Java,代码的目的是提示用户输入10个整数,然后显示最大和最小的整数。我可以要求用户输入10个整数并显示最大的数字;但是,没有显示最小的数字。我认为问题在于我将最小值设置为0 import java.util.Scanner; public class LargeSmall { public static void main(String[] args) { int counter = 1; int largest = 0; int smallest = 0; int number =

代码的目的是提示用户输入10个整数,然后显示最大和最小的整数。我可以要求用户输入10个整数并显示最大的数字;但是,没有显示最小的数字。我认为问题在于我将最小值设置为0

import java.util.Scanner;

public class LargeSmall {
 public static void main(String[] args) {

 int counter = 1;
 int largest = 0; 
 int smallest = 0;
 int number = 0;  

 Scanner input= new Scanner(System.in);

 while (counter <= 10) {
     System.out.print("Enter number: ");
     number = input.nextInt();
     if (number > largest) {
         largest = number;
     }else if(number < smallest) {
         smallest = number;  
     }else {
         System.out.print("Number isn't distinct");   
         counter = counter + 1;
     }  

     System.out.println("Largest number is: " + largest);
     System.out.println("Smallest number is: " + smallest);
  }
}
import java.util.Scanner;
公共级大商场{
公共静态void main(字符串[]args){
int计数器=1;
int最大=0;
int=0;
整数=0;
扫描仪输入=新扫描仪(System.in);
while(柜台最大){
最大=数量;
}else if(数字<最小值){
最小=数量;
}否则{
系统输出打印(“数字不清晰”);
计数器=计数器+1;
}  
System.out.println(“最大值为:“+最大值”);
System.out.println(“最小的数字是:“+最小的”);
}
}

只需将
转换为
=
,然后
像这样初始化您的值,这样我们就可以保证从最小/最大的参考值开始比较我们的数字:

int largest = Integer.MIN_VALUE;
int smallest = Integer.MAX_VALUE;
int number;
int old = Integer.MIN_VALUE;
…然后必须进行一些调整:

  • 更改检查重复编号的方式(使用和
    old
    variable)
  • 检查每个新数字是否总是小于
    最小的
    数字(因此,在第一次迭代中,我们将第一个值分配给
    最小的
    最大的
像这样:

 number = input.nextInt();
 if (old != number) {
     old = number;
     if (number > largest) {
         largest = number;
     } 
     if(number < smallest) {
         smallest = number;  
     }
    /* consider moving next line here (this will guarantee to go to the next
       iteration only if the numbers are different, and get in the final messages,
       valid values for `smallest` and `largest` */
    // counter = counter + 1;
 } else {
      System.out.print("Number isn't distinct");
 }
number=input.nextInt();
如果(旧的!=编号){
旧=数字;
如果(数量>最大值){
最大=数量;
} 
如果(数量<最小值){
最小=数量;
}
*考虑在此处移动下一行(这将保证进入下一行)。
只有在数字不同的情况下才进行迭代,并获得最终消息,
“最小”和“最大”的有效值*/
//计数器=计数器+1;
}否则{
系统输出打印(“数字不清晰”);
}

变量<代码>最小值
始终为0,因此如果(数字<最小值) 如果(数字<最小值)

此外,您的代码没有捕获不同的数字。要查找不同的数字,您应该在程序开始时定义一个列表
list numbers=null;

然后,您可以检查输入是否输入到
while
循环中,如下所示:

   if(numbers.contains(number))
        System.out.print("Number isn't distinct");
    else 
        numbers.add(number);

设置用户第一次输入的最大和smallert变量,然后进行比较

import java.util.Scanner;

public class LargeSmall {
    public static void main(String[] args) {

        System.out.print("Enter number: ");
        Scanner input= new Scanner(System.in);
        int number = input.nextInt();
        int counter = 1;
        int largest = number; 
        int smallest = number;


        while (counter < 10) {
           System.out.print("Enter number: ");
           number = input.nextInt();
           if (number > largest) {
               largest = number;
           }else if(number < smallest) {
               smallest = number;  
           }else 
               System.out.print("Number isn't distinct");   

           counter = counter + 1;
       }  

       System.out.println("Largest number is: " + largest);
       System.out.println("Smallest number is: " + smallest);
    }
}
import java.util.Scanner;
公共级大商场{
公共静态void main(字符串[]args){
系统输出打印(“输入编号:”);
扫描仪输入=新扫描仪(System.in);
int number=input.nextInt();
int计数器=1;
int=最大数;
int=最小值;
while(计数器<10){
系统输出打印(“输入编号:”);
number=input.nextInt();
如果(数量>最大值){
最大=数量;
}else if(数字<最小值){
最小=数量;
}否则
系统输出打印(“数字不清晰”);
计数器=计数器+1;
}  
System.out.println(“最大值为:“+最大值”);
System.out.println(“最小的数字是:“+最小的”);
}
}

你能发布一个你尝试过的数字样本吗?问题出现了?你似乎很清楚你的问题到底是什么。这就引出了一个问题:你在问什么?你也可以将
计数器=计数器+1;
改成
计数器++;
,用更少的字符做同样的事情。不知道你为什么要这么做设置此选项:
System.out.print(“数字不明显”);
您的程序是否应该以不同的方式处理重复项?如果
Number
为负值会发生什么?
import java.util.Scanner;

public class LargeSmall {
    public static void main(String[] args) {

        System.out.print("Enter number: ");
        Scanner input= new Scanner(System.in);
        int number = input.nextInt();
        int counter = 1;
        int largest = number; 
        int smallest = number;


        while (counter < 10) {
           System.out.print("Enter number: ");
           number = input.nextInt();
           if (number > largest) {
               largest = number;
           }else if(number < smallest) {
               smallest = number;  
           }else 
               System.out.print("Number isn't distinct");   

           counter = counter + 1;
       }  

       System.out.println("Largest number is: " + largest);
       System.out.println("Smallest number is: " + smallest);
    }
}