Javaアレイ演習-28日間の学習ノート

演習1

package com.xin.Array;
import java.util.Scanner;

public class Arraytext1
{
		public static void main (String[] args){
				/*输入5个数,根据5个数得到其中最大的数并且把不同的等级划分
				//从键盘读入学生成绩,找出最高分,并输出学生成绩等级。
   成绩>=最高分-10等级为'A'			
   成绩>=最高分-20等级为'B'				
   成绩>=最高分-30等级为'C'

   其余等级为'D’

				
提示:先读入学生人数,
				根据人数创建int数组,存放学生成绩。
				*/
				//1.使用Scanner读取学生个数
				Scanner scan = new Scanner(System.in);
				
				System.out.println("请输入学生个数");
				int count = scan.nextInt();
				
				System.out.println("请输入"+count+"个学生成绩");
				//2.使用数组存储学生成绩  动态初始化
				int[] score = new int[5];
				
				//3.给数组赋值
				for(int i = 0;i < score.length;i++){
						score[i] = scan.nextInt();
				}
				
				//4.遍历数组找出最大值,先定义一个最大值
				int maxScore = 0;
				for(int i = 0;i<score.length;i++){
						//跟max做比较 如果比max大就把值给max
						if(maxScore < score[i]){
								maxScore = score[i];
						}
	
				}
						System.out.println("最高分是"+maxScore);
				//5.遍历数组给每个成绩划分等级。
				//定义一个char类型 输出a,b,c,d
				char level;  //因为下面使用了level ,所以可以不给它赋值
				for(int i = 0;i < score.length;i++){
						if(maxScore - 10 <= score[i]){
								level = 'A';
						}else if (maxScore - 20 <= score[i]){
								level = 'B';
						}else if (maxScore - 30 <= score[i]){
					   level = 'C';
						}else{
								level = 'D';
						}
				
				System.out.println("student"+i+"总成绩"+score[i]+"等级为"+level);
				
			}	
				
		}
		
}

二次元配列演習2

package com.xin.Array;

public class ArrayTxtx2
{
		public void text1(){
				//创建一个二维数组,并且赋值
				int[][] array = {
   
   {3,5,8},{12,9},{7,0,6,4}};
				
				//创建计算总和
				int sum = 0;
				//遍历二维数组  可以for.each也可以使用普通for循环遍历
				//方法1
				for (int[] a :array){  //a   a1为变量名
						for(int a1 : a){
								System.out.print(a1+"\t");
								sum += a1;
								
						}
						System.out.println();
				}
				System.out.println(sum);
				
				//方法2
				int sum1 = 0;
				for(int i = 0;i < array.length;i++){
						for(int j = 0; j < array[i].length;j++){//小于外层的长度。
								sum1 += array[i][j];  //加上循环出来的数
						}
						
				}
				System.out.println(sum1);
		}
}

演習36桁のint型配列を作成し、1〜30の値を割り当てます。各値は、同じにすることはできません。

package com.xin.Array;

public class ArrayTxet3
{
		public void text(){
				//1.创建一个6位的一个int型数组,赋值1-30的值且每个值不能相同
				int[] array = new int[6];
				
				
				
				//2.给数组赋值
				for(int i = 0;i< array.length;i++){
						array[i] = (int)(Math.random()*30)+1 ;  //左闭右开 所以[0-30) 加上1  [0-31) 加上(int)强转
								boolean isFlag = true;
								
				//4.判断各个位置不相等使用布尔,并且重新赋值
				for(int j = 0; j < i;j++){
				do{
						if(array[i]==array[j]){
								array[i] = (int)(Math.random()*30+1);
						}
					 isFlag = false;
						
			   	}
							while(isFlag);
									
							
			  	}
				}
				//3.遍历数组
				for(int a : array){
						System.out.print(a+" ");
				}
				System.out.println();
		}
}

演習310個の要素を含むint型の1次元配列を定義します。

			赋一些随机整数,然后求出所有元素的
			最大值,最小值,和值,平均值,并输出出来。
			要求:所有随机数都是两位数。
package com.xin.Array;

public class ArrayText4
{
		public void text(){
				/*
				定义一个int型的一维数组,包含10个元素,
				分别赋一些随机整数,然后求出所有元素的
				最大值,最小值,和值,平均值,并输出出来。
				要求:所有随机数都是两位数。
				
				获取[a-b]的随机数公式
				(int)(Math.random()*(b-a+1)+a)
				*/
				//1.创建一个一维数组
				int[] arrays = new int[10];
				
				
				//2.使用随机数赋值
				for(int i = 0;i < arrays.length;i++){
						
								arrays[i] = (int)(Math.random()*(99-10+1)+10);//  [10-99]
								}	
				//3.定义最大值,最小值,和值,平均值  保险起见万一数组中有负数使用 arrays[0]

						int max = arrays[0];
						int min = arrays[0];
						int sum = 0;
				//4.遍历数组

						for (int i=0;i < arrays.length;i++) {
								System.out.print(arrays[i]+" ");
								
								if(max < arrays[i]){
										max = arrays[i];
								}
								if(min > arrays[i]){
										min = arrays[i];
								}
         sum += arrays[i];
								
								}	System.out.println();
								
								System.out.println("最大值为"+max);
								System.out.println("最小值为"+min);
								System.out.println("总和"+sum);
								System.out.println("平均数为"+(double)sum/10);
						
		}
}

おすすめ

転載: blog.csdn.net/yibai_/article/details/115287624