提示:先读入学生人数,根据人数创建int数组,
存放学生成绩。
public static void main(String[] args) {
System.out.printf("请输入学生人数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.println("请输入" + num + "成绩");
int max = 0;
int []scores = new int[num];
for (int i = 0; i < num; i++){
int score = scanner.nextInt();
if (score > max){
max = score;
}
scores[i] = score;
}
System.out.println("最高分是:" + max);
for (int i = 0; i < num; i++){
String grade = "";
int thescore = scores[i];
if (thescore >= max - 10){
grade = "A";
}else if (thescore >= max - 20){
grade = "B";
}else if (thescore >= max - 30){
grade = "C";
}else{
grade = "D";
}
System.out.println("student " + i + " score is " + scores[i] + " grade is " + grade);
}
}
(1)创建一个名为ArrayTest的类,在main()方法中声明array1和array2两个变量,
他们是int[]类型的数组。
(2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。
(3)显示array1的内容。
(4)赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值
(如array[0]=0,array[2]=2)。打印出array1。
思考:array1和array2是什么关系?
它们里面存储的地址是一样的,都指向堆空间的同一个空间
public static void main(String[] args) {
int[] array1 = new int[]{2, 3, 5, 7, 11, 13, 17, 19};
// 数组的反转
// 6 / 2 = 3 ---》 0_5,1_4,2_3
// 7 / 2 = 3 ----》 0_6,1_5,2_4,3无须交换
for (int i = 0; i < array1.length / 2; i++){
int temp = array1[i];
array1[i] = array1[array1.length - 1 - i];
array1[array1.length - 1 - i] = temp;
}
for (int i : array1){
System.out.print(i + "\t");
}
}
public static void main(String[] args) {
int[] array1 = new int[]{2, 3, 5, 7, 11, 13, 17, 19};
// 数组的反转
for (int i = 0, j = array1.length - 1; i < j; i++, j--){
int temp = array1[i];
array1[i] = array1[j];
array1[j] = temp;
}
for (int i : array1){
System.out.print(i + "\t");
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入行数:");
int length = scanner.nextInt();
int [][] arr = new int[length][];
for (int i = 0; i < arr.length; i++){
arr[i] = new int[i+1];
for (int j = 0; j < arr[i].length; j++){
if (j == 0 || i == j){
arr[i][j] = 1;
}else{
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入行数:");
int length = scanner.nextInt();
Set VSet = new HashSet<>();
int []arr = new int[length];
for (int i = 0; i < arr.length; i++){
while (true){
int rand = (int)(Math.random()*(30-1)+1); //[0.0, 1.0)*29--->[0,29)+1--->[1,30) --->
boolean b = VSet.add(rand);
if (b == true){
arr[i] = rand;
System.out.print(rand + "\t");
break;
}
}
}
}
然后求出所有元素的最大值,最小值,和值,平均值,并输出出来。
要求:所有随机数都是两位数。
提示;
[0,1) * 90 [0,90) + 10 [10,100) [10,99]
(int)(Math.random() * 90 + 10)
public static void main(String[] args) {
int [] arr = new int[10];
// 赋值
for (int i = 0; i < arr.length; i++){ // [0, 1)*90 = [0,90) + 10 --->[10,100)
arr[i]= (int) (Math.random() *(100-10) + 10); // 10-100
}
int max = arr[0]; // 注意他们的初始值,这个很容易错
int min = arr[0]; // 如果初始值不为arr的第一个数,那么它们的值为0,那就错了
int sum = arr[0];
for (int i = 1; i < arr.length; i++){
if (arr[i] > max){
max = arr[i];
}
if (arr[i] < min){
min = arr[i];
}
sum = sum + arr[i];
System.out.print(arr[i] + " ");
}
System.out.println();
// arr.length 一定不为0;
int avg = 0;
avg = sum / arr.length;
System.out.println("最大值: " + max);
System.out.println("最小值: " + min);
System.out.println("和: " + sum);
System.out.println("均值: " + avg);
}
public static void main(String[] args) {
int[][]arr= new int[][]{{3,5,8},{12,9},{7,0,6,4}};
int sum = 0;
for(int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[i].length; j++){
sum = sum + arr[i][j];
}
}
System.out.println("" + sum + "");
}
下面程序的运行结果
public class ArrayTest {
public static void main(String[] args) {
int[] arr = new int[]{8,2,1,0,3};
int[] index = new int[]{2,0,3,2,4,0,1,3,2,3,3};
String tel = "";
for(int i = 0;i < index.length;i++){
tel += arr[index[i]];
}
System.out.println("联系方式:" + tel);
}
}
// 18013820100