Java程序赢得';t打印出数组中的最小数字
我正试图在我的Java程序赢得';t打印出数组中的最小数字,java,arrays,Java,Arrays,我正试图在我的数组中找到最大和最小的数字,但是,它似乎只打印出最大的而不是最小的,我是一个新手,因此非常感谢您的帮助,谢谢 import java.util.Scanner; public class Ex1 { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); int[] numbers = new int[11];
数组中找到最大和最小的数字,但是,它似乎只打印出最大的而不是最小的,我是一个新手,因此非常感谢您的帮助,谢谢
import java.util.Scanner;
public class Ex1 {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int[] numbers = new int[11];
int largest = numbers[0];
int smallest = numbers[0];
System.out.println("Enter 10 numbers = ");
for (int i = 1; i < numbers.length; i++) {
numbers[i] = keyboard.nextInt();
System.out.println("Number " + i + " = " + numbers[i]);
for (int y = 1; y < numbers.length; y++) {
if (numbers[y] > largest)
{
largest = numbers[y];
}
}
for (int x = 1; x < numbers.length; x++)
{
if (numbers[x] < smallest)
{
smallest = numbers[x];
}
}
}
System.out.println("Largest number = " + largest);
System.out.println("Smallest number = " + smallest);
} // main
} // class
import java.util.Scanner;
公共类Ex1{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
整数[]个数=新整数[11];
int最大=数字[0];
int最小=数字[0];
System.out.println(“输入10个数字=”);
对于(int i=1;i最大值)
{
最大=数字[y];
}
}
对于(int x=1;x
它不会打印出最小的数字,因为您在开头将其设置为0,而将其设置为整数。最大值
另外,为了确保程序适用于负数,请将最大值
设置为整数.MIN\u值
int smallest = numbers[0];
这造成了问题。这会在开始时赋值0
,因此不会得到最小的数值
此外,测试数据集必须仅包含正数
解决方案
int largest = Integer.MIN_VALUE;
int smallest = Integer.MAX_VALUE;
除了正确查找输入数字的最小值和最大值之外,还有一些代码问题
您不必为此编写嵌套for循环。检查下面的代码,您只需找到最小值和最大值
Scanner keyboard = new Scanner(System.in);
int[] numbers = new int[11];
int largest = numbers[0];
int smallest = numbers[0];
System.out.println("Enter 10 numbers = ");
for (int i = 1; i < numbers.length; i++) {
numbers[i] = keyboard.nextInt();
System.out.println("Number " + i + " = " + numbers[i]);
if (i == 1) {
largest = numbers[i];
smallest = numbers[i];
}
if (numbers[i] > largest) {
largest = numbers[i];
}
if (numbers[i] < smallest) {
smallest = numbers[i];
}
}
System.out.println("Largest number = " + largest);
System.out.println("Smallest number = " + smallest);
扫描仪键盘=新扫描仪(System.in);
整数[]个数=新整数[11];
int最大=数字[0];
int最小=数字[0];
System.out.println(“输入10个数字=”);
对于(int i=1;i最大值){
最大=数字[i];
}
if(数字[i]<最小值){
最小=数字[i];
}
}
System.out.println(“最大值=”+最大值);
System.out.println(“最小值=”+最小值);
试试这个
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int[] numbers = new int[10];
System.out.println("Enter 10 numbers = ");
for (int i = 0; i < numbers.length; i++) {
numbers[i] = keyboard.nextInt();
System.out.println("Number " + (i + 1) + " = " + numbers[i]);
}
int largest = numbers[0];
int smallest = numbers[0];
for (int y = 0; y < numbers.length; y++) {
if (numbers[y] >= largest)
{
largest = numbers[y];
}
if (numbers[y] <= smallest)
{
smallest = numbers[y];
}
}
System.out.println("Largest number = " + largest);
System.out.println("Smallest number = " + smallest);
}
publicstaticvoidmain(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
整数[]个数=新整数[10];
System.out.println(“输入10个数字=”);
for(int i=0;i=最大值)
{
最大=数字[y];
}
如果(y)个数字,并使用Integer.MIN_VALUE
作为初始最大值+1。当你发布代码时,当你正确设置代码格式时,社区会很感激。你的缩进让人困惑。我知道我的缺点,我会确保在匆忙完成之前检查它。是的,我不知道我是怎么没有意识到的