Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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_Max - Fatal编程技术网

查找最大值-Java

查找最大值-Java,java,max,Java,Max,这个程序正在运行,但不是我想要的方式。我可以计算最大值,但我必须首先定义参数的数量。我希望能够输入可变数量的参数,然后返回max。 我该怎么办 public static void main(String[] args) { Scanner cin=new Scanner(System.in); int n=cin.nextInt(); int max=cin.nextInt(); for(int i=2; i<=n; i++){ int

这个程序正在运行,但不是我想要的方式。我可以计算最大值,但我必须首先定义参数的数量。我希望能够输入可变数量的参数,然后返回max。 我该怎么办

public static void main(String[] args) {
    Scanner cin=new Scanner(System.in);

    int n=cin.nextInt();
    int max=cin.nextInt();
    for(int i=2; i<=n; i++){
        int num=cin.nextInt();
        if(num>max) max=num;
    }
    System.out.println(max);

}
publicstaticvoidmain(字符串[]args){
扫描仪cin=新扫描仪(System.in);
int n=cin.nextInt();
int max=cin.nextInt();
对于(inti=2;imax)max=num;
}
系统输出打印项次(最大值);
}

这是我的猜测,你可以告诉我这是否是你想要做的

public static void main(String[] args) {
  //Your tokenizer
  Scanner scanForNumbers = new Scanner(System.in);

  //First prompt for number of numbers
  System.out.print("Print the Number of Numbers to Enter:");

  int numberOfNumbers = scanForNumbers.nextInt();

  System.out.println();

  int maxOfNumbers = 0;

  int tempNum = 0;
  //making number of numbers the max iterate till you get there. 
  for(int index = 0 index < numberOfNumbers; index++){
    //Prompt for a number
    System.out.print("Enter another Number");
    tempNum = scanForNumbers.nextInt();

    System.out.println();
    //if it is bigger, set a new max.  
    if(tempNum > maxOfNumbers){

        maxOfNumbers = tempNum;

    }

  }
  System.out.println("The Bigger Number is : " + maxOfNumbers);
}
publicstaticvoidmain(字符串[]args){
//你的标记器
Scanner ScanforNumber=新扫描仪(System.in);
//第一次提示输入号码
System.out.print(“打印要输入的数字:”);
int numberOfNumbers=scanForNumbers.nextInt();
System.out.println();
int maxOfNumbers=0;
int tempNum=0;
//使数字的数量达到最大迭代,直到你到达那里。
对于(int index=0 indexmaxOfNumber){
maxOfNumbers=tempNum;
}
}
System.out.println(“较大的数字为:“+maxOfNumbers”);
}

我猜您希望获得max,而不需要将输入数作为第一个参数

  • 将行作为字符串读取
  • 将数字标记化并转换为整数(如果允许浮点数,则转换为浮点)
  • 计算最大值

    public static void main(String[] args) {
        Scanner cin=new Scanner(System.in);
        String input=cin.nextLine();
        String[] numbers = input.split("\\s");
        int max = Integer.parseInt(numbers[0]);
        for(int i=1; i<numbers.length; i++){
            int num=Integer.parseInt(numbers[i]);
            if(num>max) max=num;
        }
        System.out.println(max);
    }
    
    publicstaticvoidmain(字符串[]args){
    扫描仪cin=新扫描仪(System.in);
    字符串输入=cin.nextLine();
    字符串[]数字=输入。拆分(\\s”);
    int max=Integer.parseInt(数字[0]);
    对于(inti=1;imax)max=num;
    }
    系统输出打印项次(最大值);
    }
    

  • 我不知道你在问什么。我想他是为三个前妻写的?你想要有条件的休息吗?这就是我读心术告诉我的。快速而糟糕的解决方案是在for循环中放入break语句。当你为ex First write 5和numbers 4 5 6 8 9添加多少个相互比较的数字时,这个程序会工作,最大值是9,但如果你只想为ex 4 5 6 8 9和max 9写入输入,那么这个程序会工作得很好。找到已输入的最大数字。我的代码是这样的,但是如果没有numberOfnumbers,只需为ex 5 7 8 9 6编写输入,最大值是9,怎么办