public class Main { int arr[] = new int[10]; public static void main(String[] args) { System.out.println(arr[1]); } }
时间: 2024-09-29 15:04:06 浏览: 27
这段Java代码定义了一个名为`Main`的公共类,其中包含一个整型数组`arr`,数组长度为10。`main`方法是Java程序的入口点,它是一个静态方法,这意味着可以直接通过类名而不是类的实例来调用它。
在`main`方法内部,代码尝试打印数组`arr`的第一个元素(索引为1,因为数组下标从0开始),这是合法的,因为它不需要创建`Main`类的实例就可以访问`arr`。这是因为`arr`是在`main`方法的作用域内声明的,所以可以直接被静态方法访问。
然而,如果你要在`main`方法之外的地方访问`arr`,例如在另一个非静态方法中,就需要通过`Main`类的实例去获取,因为静态变量不能被非静态方法直接访问。
```java
public class Main {
int arr[];
public static void main(String[] args) {
System.out.println(arr[1]);
}
// 如果你想在非静态方法中访问arr,需要先创建对象
public void displayArray(int index) {
Main obj = new Main();
System.out.println(obj.arr[index]);
}
}
```
在这里,`displayArray`是非静态方法,需要通过`obj`来间接访问`arr`。
相关问题
public class Teacher { int arr[]=new int[10]; public static void main(String args[]){ System.out.println(arr[1]); } }
这段代码会报错,因为在静态方法 main 中无法直接访问非静态成员 arr。需要将 arr 声明为静态成员变量才能在 main 方法中访问。正确的代码应该是:
public class Teacher {
static int arr[] = new int[10];
public static void main(String args[]) {
System.out.println(arr[1]);
}
}
import java.util.Scanner; public class PTA01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); String input = sc.nextLine(); String[] strarr = input.split(" "); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = Integer.parseInt(strarr[i]); } SeceltSort(arr); } public static void SeceltSort(int[] arr) { for (int i = 0; i < arr.length; i++) { int temp = arr[i]; int index = i; boolean flag = false; for (int j = i; j < arr.length; j++) { if (temp > arr[j]) { temp = arr[j]; index = j; flag = true; } } if (flag == false) continue; temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; if(i!=0) System.out.println(); for (int a = 0; a < arr.length; a++) { System.out.print(arr[a]); if (a!=arr.length-1) System.out.print(" "); } } } }
这段代码实现的是选择排序,输入一个整数 n 和 n 个整数,然后对这 n 个整数进行选择排序并输出每次排序后的结果。
具体实现过程:
首先通过 Scanner 对象读取输入,第一行是整数 n,第二行是 n 个整数,用 split 方法将第二行的字符串按空格分割成整数数组。
然后调用 SeceltSort 方法进行选择排序,遍历数组,每次找到未排序部分的最小值,将其与未排序部分的第一个元素交换位置。在交换位置后,输出当前排序结果。
最后的输出结果类似于:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
每行输出一个排序结果。
阅读全文