请高手 帮我看下我的代码那有问题?谢谢了
import java.util.Scanner;
public class arraystool {
private arraystool(){}
public static void arr(int [] a){
Scanner in=new Scanner(System.in);
System.out.println("请输入数组长度");
a=new int[in.nextInt()];
System.out.println("请输入数据");
for (int i=0;i<a.length;i++){
a[i]=in.nextInt();
}
for (int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
public static void maopao(int[] arr){//从大到小排序
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if (arr[i]<arr[j]){
swap(arr, i,j);
}
}
}
}
public static void xuze(int[] arr){
for(int i=0;i<arr.length-1;i++){
for (int j=0;j<arr.length-i-1;j++){
if (arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
}
public static void swap(int [] arr,int a,int b){//排序位置互换
int temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
public static void printarr(int [] arr){ //打印数组
for (int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
public static int getMax(int[] arr){ //求数组最大值
int max=0;
for (int i=0;i<arr.length;i++){
if (arr[i]>arr[max]){
arr[max]=arr[i];
}
}
return arr[max];
}
public static int getMin(int[] arr){ //求数组最小值
int min=0;
for (int i=0;i<arr.length;i++){
if (arr[i]<arr[min]){
arr[min]=arr[i];
}
}
return arr[min];
}
}
public class Arr {
private static int [] a;
public static void main(String [] args){
//arraystool aaa=new arraystool();
//aaa.arr(a);
arraystool.arr(a);
arraystool.maopao(a);
}
}
类 --------------------编程问答-------------------- 非法使用空数组
在maopao方法中的数组参数为空
--------------------编程问答-------------------- 多少年 没有看见过 scanner 了 我了去 看见这么多循环我就郁闷了 --------------------编程问答-------------------- 你想在方法arr里给数组赋值是吧?
值传递在方法里是改变不了原来数组a的值的啦;
带个返回值吧
补充:Java , Java EE