java 找数组中的最大数放到最前面
样例输入512345样例输出52341我是新手啊,不要用递归和函数的方法做啊,求解啊.顺便给注释,谢谢...
样例输入
5
1 2 3 4 5
样例输出
5 2 3 4 1我是新手啊,不要用递归和函数的方法做啊,求解啊.顺便给注释,谢谢 展开
5
1 2 3 4 5
样例输出
5 2 3 4 1我是新手啊,不要用递归和函数的方法做啊,求解啊.顺便给注释,谢谢 展开
5个回答
展开全部
public class FindMax {
public static void main(String[] args) {
int []arr=new int[]{1,2,3,4,5};//初始化数组
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+",");//打印数组元素
System.out.println();
int max=0;
int index=0;
for(int i=0;i<arr.length;i++){//找出数组中最大的元素,赋值给max
if(arr[i]>max){
max=arr[i];
index=i;//保存最大元素在数组中的索引位置
}
}
int []arr1=new int[5];//初始化数组arr1
int j=0;
for(int i=0;i<5;i++){//将除max外的元素赋值给arr1数组的后4位
if(arr[i]!=max){
arr1[j+1]=arr[i];
j++;
}
}
arr1[0]=max;//将最大值赋值给arr1的第一个元素
for(int i=0;i<arr1.length;i++)
System.out.print(arr1[i]+",");//打印出重新排后的数组
System.out.println();
}
}
public static void main(String[] args) {
int []arr=new int[]{1,2,3,4,5};//初始化数组
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+",");//打印数组元素
System.out.println();
int max=0;
int index=0;
for(int i=0;i<arr.length;i++){//找出数组中最大的元素,赋值给max
if(arr[i]>max){
max=arr[i];
index=i;//保存最大元素在数组中的索引位置
}
}
int []arr1=new int[5];//初始化数组arr1
int j=0;
for(int i=0;i<5;i++){//将除max外的元素赋值给arr1数组的后4位
if(arr[i]!=max){
arr1[j+1]=arr[i];
j++;
}
}
arr1[0]=max;//将最大值赋值给arr1的第一个元素
for(int i=0;i<arr1.length;i++)
System.out.print(arr1[i]+",");//打印出重新排后的数组
System.out.println();
}
}
追问
回答的很好,但是数字都是由键盘输入的要怎么搞啊
追答
package algorithm;
import java.util.Scanner;
public class FindMax {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入数组中元素的个数:");
int n=sc.nextInt();
int arr[]=new int[n];
for(int i=0;imax){
max=arr[i];
index=i;
}
}
int []arr1=new int[n];
int j=0;
for(int i=0;i<n;i++){
if(arr[i]!=max){
arr1[j+1]=arr[i];
j++;
}
}
arr1[0]=max;
for(int i=0;i<arr1.length;i++)
System.out.print(arr1[i]+",");
System.out.println();
}
}
展开全部
int num[] = {1,2,3,4,5};
int index;//最大值位置
int maxnum;//最大值数值
index = 0;//预设值
maxnum = num[0];//预设值
for(int i=1;i<num.length;i++){//循环得到最大值的位置和值
if(num[i]>=maxnum){
index = i;
maxnum = num[i];
}
}
num[index] = num[0];//把最大值的位置里放入最一位置的数
num[0] = maxnum;//把第一位置的数据换成最大值
int index;//最大值位置
int maxnum;//最大值数值
index = 0;//预设值
maxnum = num[0];//预设值
for(int i=1;i<num.length;i++){//循环得到最大值的位置和值
if(num[i]>=maxnum){
index = i;
maxnum = num[i];
}
}
num[index] = num[0];//把最大值的位置里放入最一位置的数
num[0] = maxnum;//把第一位置的数据换成最大值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class MySort {
public static void main(String[] args) {
MySort sort = new MySort();
int[] arr = new int[]{3,22,11,5,400,99,20,22,5};
sort.sort(arr);
for(int i : arr){
System.out.print(i+",");
}
}
public void sort(int[] targetArr){//大到小的排序
int temp = 0;
for(int i = 0;i<targetArr.length;i++){
for(int j = i;j<targetArr.length;j++){
if(targetArr[i]<targetArr[j]){
/*//方法一:
temp = targetArr[i];
targetArr[i] = targetArr[j];
targetArr[j] = temp;
//方法二:
targetArr[i] = targetArr[i] + targetArr[j];
targetArr[j] = targetArr[i] - targetArr[j];
targetArr[i] = targetArr[i] - targetArr[j];*/
}
}
}
}
}
public static void main(String[] args) {
MySort sort = new MySort();
int[] arr = new int[]{3,22,11,5,400,99,20,22,5};
sort.sort(arr);
for(int i : arr){
System.out.print(i+",");
}
}
public void sort(int[] targetArr){//大到小的排序
int temp = 0;
for(int i = 0;i<targetArr.length;i++){
for(int j = i;j<targetArr.length;j++){
if(targetArr[i]<targetArr[j]){
/*//方法一:
temp = targetArr[i];
targetArr[i] = targetArr[j];
targetArr[j] = temp;
//方法二:
targetArr[i] = targetArr[i] + targetArr[j];
targetArr[j] = targetArr[i] - targetArr[j];
targetArr[i] = targetArr[i] - targetArr[j];*/
}
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static int getMax(int[] nums){
int max;
for(int num : nums){
if(num > max){
max = num;
}
}
return max;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询