Java 使用数组查找最大数和最小数
尝试让用户输入整数的数量,这样我就可以设置数组长度,然后找到最大值和最小值。但是,我找不到max和min。请帮忙Java 使用数组查找最大数和最小数,java,Java,尝试让用户输入整数的数量,这样我就可以设置数组长度,然后找到最大值和最小值。但是,我找不到max和min。请帮忙 import java.util.Scanner; import java.util.Arrays; public class ExerciseC{ public static void main(String[] args){ Scanner keyboard = new Scanner(System.in); System.out.prin
import java.util.Scanner;
import java.util.Arrays;
public class ExerciseC{
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter the number of integers you would like to enter:");
int numberEnter = keyboard.nextInt();
System.out.println("Enter some integers:");
int integers = keyboard.nextInt();
int numbers [] = new int [numberEnter];
int maxValue = numbers[0];
int minValue = numbers[0];
int max = 0;
int min = 0;
for (int index = 1; index < numbers.length; index ++) {
if (numbers[index] > maxValue) {
maxValue = numbers [index];
}
}
System.out.println("Print: " + maxValue);
System.out.println("The difference between the largest and the smallest is: ");
}
}
import java.util.Scanner;
导入java.util.array;
公共课练习{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入要输入的整数数:”);
int numberrenter=keyboard.nextInt();
System.out.println(“输入一些整数:”);
整数=keyboard.nextInt();
整数[]=新整数[NumberRenter];
int maxValue=数字[0];
int minValue=数字[0];
int max=0;
int min=0;
for(int index=1;index最大值){
maxValue=数字[索引];
}
}
System.out.println(“Print:+maxValue”);
System.out.println(“最大值和最小值之间的差异为:”);
}
}
您的数字[]
为空。用户的输入不会存储到数组中
这是您的固定代码:
package com.company;
import java.util.Scanner;
public class ExerciseC{
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter the number of integers you would like to enter:");
int numberEnter = keyboard.nextInt();
int numbers [] = new int [numberEnter];
for (int i = 0; i < numberEnter; i++) {
System.out.println("Enter integer:");
numbers[i] = keyboard.nextInt();
}
int maxValue = numbers[0];
int minValue = numbers[0];
for (int index = 1; index < numbers.length; index ++) {
if (numbers[index] > maxValue) {
maxValue = numbers [index];
}
}
System.out.println("Print: " + maxValue);
System.out.println("The difference between the largest and the smallest is: ");
}
}
package.com公司;
导入java.util.Scanner;
公共课练习{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入要输入的整数数:”);
int numberrenter=keyboard.nextInt();
整数[]=新整数[NumberRenter];
for(int i=0;i最大值){
maxValue=数字[索引];
}
}
System.out.println(“Print:+maxValue”);
System.out.println(“最大值和最小值之间的差异为:”);
}
}
您似乎没有输入超过一个值(而且您从未在数组中存储整数)。另外,你没有设置最小值。我想你想要
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Number of integers to enter:");
int numberEnter = keyboard.nextInt();
int numbers[] = new int[numberEnter];
int pos = 0;
do {
System.out.printf("Please enter integer #%d/%d:%n", pos, numberEnter);
numbers[pos++] = keyboard.nextInt();
} while (pos < numberEnter && keyboard.hasNextInt());
int min = numbers[0];
int max = numbers[0];
for (pos = 1; pos < numbers.length; pos++) {
if (numbers[pos] < min) { // <-- test min.
min = numbers[pos];
}
if (numbers[pos] > max) { // <-- test max.
max = numbers[pos];
}
}
// Display everything.
System.out.printf("%s Min: %d Max: %d%n", Arrays.toString(numbers),
min, max);
}
publicstaticvoidmain(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“要输入的整数数:”);
int numberrenter=keyboard.nextInt();
整数[]=新整数[NumberRenter];
int pos=0;
做{
System.out.printf(“请输入整数#%d/%d:%n”,pos,NumberRenter);
数字[pos++]=键盘.nextInt();
}while(posimport java.util.Scanner;
类StdR{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
StdR st=新的StdR();
st.stdR();
//System.out.println(st.stdR();
}
void stdR()
{
字符[]等级={'A','B','C','D','E','F'};
扫描仪输入=新扫描仪(System.in);
字节[]st=新字节[3];
双精度[]百分比=新双精度[标准长度];
用于(字节s=0;s79.0和百分比<100.1)
系统输出打印(“等级:+等级[0]);
否则如果(百分比>69.0和百分比<80.0)
系统输出打印(“等级:“+等级[1]);
否则如果(百分比>59.0和百分比<70.0)
系统输出打印(“等级:“+等级[2]);
否则如果(百分比>49.0和百分比<60.0)
系统输出打印(“等级:“+等级[3]);
否则如果(百分比>39.0和百分比<50.0)
系统输出打印(“等级:“+等级[4]);
否则,如果(百分比小于40.0)
系统输出打印(“等级:“+等级[5]);
}
双最小=百分比[0],最大=百分比[0];
对于(int i=0;i最大值){
最大=百分比[i];
}
}
System.out.println(“\n第一位和最高百分比为”+最大值);
System.out.println(“\n最后一个位置和最小百分比为”+最小值);
}
}
您在哪里接受用户对数组元素的输入?对不起,我是Java新手,所以我不知道自己在做什么。您不是每次循环迭代时都向用户索要数字。我明白了,我想我现在明白了!谢谢大家的帮助。谢谢!!!您能解释一下%s、%d和%n的函数做什么吗?我可以在循环结束后分配任何变量吗r%然后在逗号后面列出?@jackyjacky524您可以在Javadoc中阅读有关的内容。%s
是一个字符串
,%d
是一个十进制整数,%n
是一个新行。参数
import java.util.Scanner;
class StdR {
public static void main(String[] args) {
// TODO Auto-generated method stub
StdR st = new StdR();
st.stdR();
//System.out.println(st.stdR();
}
void stdR()
{
char[] grade = {'A','B','C','D','E','F'};
Scanner input = new Scanner(System.in);
byte[] st = new byte[3];
double[] percentage = new double[st.length];
for(byte s = 0; s < st.length; s++){
System.out.println("\nStudent " + s);
short noOfMarks = 0;
short totalMarks = 450;
percentage[s] = 0.0;
byte[] marks = new byte[5];
for (byte i = 0; i < marks.length; i++){
System.out.println("Enter marks of Chapter "+ i + ": ");
marks[i] = input.nextByte();
noOfMarks += marks[i];
percentage[s] += (marks[i] * 100) / totalMarks;
}
System.out.print("No of marks: " + noOfMarks + "\t");
System.out.print("Percentage: " + percentage[s] + "\t");
if (percentage[s] > 79.0 && percentage[s] < 100.1)
System.out.print("Grade: " + grade[0]);
else if (percentage[s] > 69.0 && percentage[s] < 80.0)
System.out.print("Grade: " + grade[1]);
else if (percentage[s] > 59.0 && percentage[s] < 70.0)
System.out.print("Grade: " + grade[2]);
else if (percentage[s] > 49.0 && percentage[s] < 60.0)
System.out.print("Grade: " + grade[3]);
else if (percentage[s] > 39.0 && percentage[s] < 50.0)
System.out.print("Grade: " + grade[4]);
else if (percentage[s] < 40.0)
System.out.print("Grade: " + grade[5]);
}
double smallest = percentage[0] , largest= percentage[0];
for (int i=0 ;i< percentage.length; i++) {
if (percentage[i] < smallest) {
smallest = percentage[i];
} // end finding smallest
if (percentage[i] > largest) {
largest = percentage[i];
}
}
System.out.println("\n1st Position and Top percentage is " + largest);
System.out.println("\nLast Position and Least percentage is "+smallest);
}
}