gpt4 book ai didi

java - 如何在java中使用冒泡排序提取最大数?

转载 作者:行者123 更新时间:2023-12-02 06:42:18 25 4
gpt4 key购买 nike

我是java初学者,在使用冒泡排序查找整数数组中的最大数字时遇到问题

这就是我的程序:

import java.util.Scanner;
class Bubblesorting
{
Scanner sc=new Scanner(System.in);
void ascendingOrder()
{
int[] no=new int[10];
System.out.println("ENTER 10 NUMBERS");
for(int i=0;i<no.length;i++)
{
no[i]=sc.nextInt();
for(int j=0;j<no.length;j++)
{
for(int k=j;k<no.length-1;k++)
{
if(no[j]<no[k+1])
{
int t=no[k+1];
no[k+1]=no[j];
no[j]=t;
}
}
}
}
System.out.println(no[no.length]);
}
}

最佳答案

您无需对数组进行排序即可获得其中的最大数字。只需在数组上迭代一次,更新迄今为止找到的最大值即可。像这样的东西:

import java.util.Scanner;
class Bubblesorting
{
Scanner sc=new Scanner(System.in);
void ascendingOrder()
{
int[] no=new int[10];
System.out.println("ENTER 10 NUMBERS");
for(int i=0;i<no.length;i++)
{
no[i]=sc.nextInt();
}
int maxv = no[0];
for (int i =0;i<10;++i) {
if (no[i] > maxv) {
maxv = no[i];
}
}
System.out.println(maxv);
}
}

不过,如果您坚持必须首先对数组进行排序,请将读取与排序逻辑分开。您应该首先读取所有数字,然后对整个数组进行排序。另请记住,大多数编程语言中的数组都是 0 索引,因此 no 的有效索引是 0no.length-1,因此您应该 System.out.println (no[no.length - 1]); 而不是 System.out.println(no[no.length]);

关于java - 如何在java中使用冒泡排序提取最大数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com