public class T02 { public static void main(String[] args) { int[][]arr=new int[][]{{1,2,3,4,5},{1,2,3,5},{8,9,7}}; int sum=0; for(int i=0;i< arr.length;i++){ for(int j=0;j<arr[i].length;j++){ sum=arr[i][j]+sum; } } System.out.println("sum="+sum); } } //和为50
public class T02 { public static void main(String[] args) { //声明并且初始化数组 int[][]arr=new int[10][]; //给数组的元素赋值 for(int i=0;i< arr.length;i++){ arr[i]=new int[i+1]; arr[i][0]=arr[i][i]=1; if(i>1){ for(int k=1;k<arr[i].length-1;k++){ arr[i][k]=arr[i-1][k-1]+arr[i-1][k]; } } } //遍历数组 for(int i=0;i< arr.length;i++){ for(int j=0;j<arr[i].length;j++){ System.out.print(arr[i][j]+"\t"); } System.out.println(); } } }
public class T03 { public static void main(String[] args) { int[] arr=new int[10]; for(int i=0;i< arr.length;i++){ arr[i]=(int)Math.random()*((99-10+1)+10); //[a,b]中的随机数的公式:Math.readom()*((b-a+1)+a). //注意这里出来的为double类型。 } //求最大值 int maximum=0; for(int i=0;i< arr.length;i++){ if(maximum<arr[i]){ maximum=arr[i]; } } System.out.println("最大值为:"+maximum); //求最小值 int minimum=arr[0]; for(int i=1;i< arr.length;i++){ if(minimum>arr[i]){ minimum=arr[i]; } } System.out.println("最大值为:"+minimum); //求和 int sum=0; for(int i=1;i< arr.length;i++){ sum=sum+arr[i]; } System.out.println("sum:"+sum); //求平均数 System.out.println("平均数为:"+sum/ arr.length); } }
(1) T04라는 클래스를 만들고 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의 관계는 무엇입니까?
확장: 질문을 수정하여 array2의 array1 사본을 실현하세요
public class T04 { public static void main(String[] args) { int[] array1,array2; array1=new int[]{2,3,5,7,11,13,17,19}; for(int i=0;i< array1.length;i++){ System.out.print(array1[i]+"\t"); } //赋值array1变量等于array2 //不能称作数组的复制 array2=array1; for(int i=0;i< array1.length;i++){ if(i%2==0){ array2[i]=i; } } System.out.println(); System.out.println("******************************************"); for(int i=0;i< array1.length;i++){ System.out.print(array1[i]+"\t"); } } }
(1) array1과 array2의 주소 값은 동일하며, 둘 다 힙 공간의 유일한 배열 엔터티를 가리킵니다
(2)
for(int i=0;i< array1.length;i++){ array2[i]=array1[i]; }
방법 2
int i=0; int j=0; for(i=0,j= arr.length-1;i<j;i++,j--){ int a=arr[i]; arr[i]=arr[j]; arr[j]=a; }
public class T05 { public static void main(String[] args) { int[]arr=new int[]{1,2,3,4,5,6,7,8,9}; for(int i=0;i< arr.length;i++){ System.out.print(arr[i]+"\t"); } System.out.println(); for(int i=0;i< arr.length;i++){ if(i< arr.length-1-i){ int a=arr[i]; arr[i]=arr[arr.length-1-i]; arr[arr.length-1-i]=a; } } for(int i=0;i< arr.length;i++){ System.out.print(arr[i]+"\t"); } } }
//전제가 순서대로 이루어져야 합니다
예: 작은 것부터 큰 것까지 먼저 살펴보세요
import java.util.Scanner; public class T07 { public static void main(String[] args) { Scanner s = new Scanner(System.in); int a= s.nextInt(); int[]arr=new int[]{1,2,3,4,6,7,8,9,10}; int left=0; int right= arr.length-1; boolean is=true; while(left<=right){ int average=(int)(left+right)/2; if(arr[average]>a){ right=average-1; } else if(a==arr[average]){ System.out.println("找到了,下标是:"+average); is=false; } else { left = average + 1; // }if(left==right){ // System.out.println("没有找到"); // is=false; } } if(is){ System.out.println("很遗憾没有找到"); } } }
public class T08 { public static void main(String[] args) { int[]arr=new int[]{33,55,2,6,-8,-5,66,1,63}; for(int i=0;i< arr.length-1;i++){ for(int j=0;j< arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ int a=arr[j]; arr[j]=arr[j+1]; arr[j+1]=a; } } } for(int i=0;i< arr.length;i++) { System.out.println(arr[i]); } } }
행렬 프로그래밍 구현 질문입니다. Java의 행렬은 일반적으로 2차원 배열을 통해 구현됩니다.
구체적인 코드는 다음과 같습니다:
import java.util.Random; /** * 求一个3*3矩阵对角线元素之和 * * @author ChenZX * */ public class Test04 { public static void main(String[] args) { int sum = 0; //和 int[][] arr = new int[3][3]; Random r = new Random(); for(int i=0;i<3;i++){ //随机生成矩阵 for(int j=0;j<3;j++){ arr[i][j] = r.nextInt(10); //0到9 } } for(int i=0;i<3;i++){ //遍历矩阵 for(int j=0;j<3;j++){ System.out.print(arr[i][j]+" "); //打印矩阵元素 if(i==j){ //如果为对角线元素 sum += arr[i][j]; //求和 } } System.out.println(); //每输出3个元素换行 } System.out.println("此矩阵对角线的和为:"+sum); } }
위 내용은 Java는 2차원 배열을 사용하여 10줄의 Yang Hui 삼각형을 인쇄합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!