java小作业(五)

1.求一个3*3矩阵对角线元素之和

public static void main(String[] args) {

		//创建一个二维数组
		int [][] array = {{1,2,3},{4,5,6},{7,8,9}};
		//生成变量he
		int he=0;
		//设定行
		for (int i = 0; i < array.length; i++) {
			//设定列
			for (int j = 0; j < array.length; j++) {
//				//生成一个矩形,由于生成矩形影响查看获取对象,所以我就把矩形注释了
//				System.out.print(array[i][j]+"\t");
				
				//获取对角线
				if (i==j) {//左上到右下对角线
					System.out.print(array[i][j]+"\t");//查看获取对象
					//把值加到变量he里
					he+=array [i][j];
				} else if (i+j==2) {//右上到左下对角线,用else if把中间重复的值排除		
					System.out.print(array[i][j]+"\t");//查看获取对象
					//把值加到变量he里
					he+=array[i][j];
				}
			}
//			System.out.println();//美观矩形
		}
		//输出结果
		System.out.println("\n对角线元素之和为: "+he);
	}

2.有一个数组a{13,2,6,9,7,33},求出有多少个奇数,多少个偶数

public static void main(String[] args) {

		//创建数组,直接赋值
		int [] a={13,2,6,9,7,33};
		//生成奇偶总数的变量
		int ji=0,ou=0;
		//获取数组的每个值
		for (int i = 0; i < a.length; i++) {
			//判断奇数
			if (a[i]%2==1) {
				ji++;//变量ji的值+1
			} else {//因为都是int,所以非奇则偶
				ou++;//变量ou的值+1
			}
		}
		//输出结果
		System.out.println("奇数个数为: "+ji);
		System.out.println("偶数个数为: "+ou);
	}

3.有一个数组a={12,3,5,0,73}请实现对数组a的复制,且赋值之后的数组中的最后一个元素的值设定为0,请编程实现

package com.sj.homework;

import java.util.Arrays;//引入Arrays类

/**
 * @desc	3.有一个数组a={12,3,5,0,73}请实现对数组a的复制,且赋值之后的数组中的最后一个元素的值设定为0,请编程实现
 * @author	ws
 * @time	7.27
 */
public class c {

	public static void main(String[] args) {

		//创建数组a并赋值
		int [] a={12,3,5,44,73};//相对原题数值进行了修改,方便进行查看
		
		//复制
		
	//方法一:System.arraycopy()
		//定义复制的数组b,初始化并给予数组a的长度;
		int [] b=new int[a.length];
		//进行复制
		System.arraycopy(a, 0, b, 0, a.length-1);//括号里的分别是(原数组,开始索引,复制数组,开始索引,结束索引)
												 //a.lenth-1因为后面会对数组b的最后一个元素进行修改,进行少一步操作的优化
		b[a.length-1]=0;//给数组b的最后一个元素赋值为0
	//方法二:clone()
		//定义复制的数组c,初始化并给予数组a的长度;
		int []c=new int[a.length];
		//进行复制
		c=a.clone();
		c[a.length-1]=0;//给数组c的最后一个元素赋值为0
	//方法三:Arrays.copyOf()
		//定义复制的数组d,初始化并给予数组a的长度;
		int []d=new int[a.length];
		//进行复制
		d=Arrays.copyOf(a, a.length);//Arrays方法需要进行引入
		d[a.length-1]=0;//给数组d的最后一个元素赋值为0
	//方法四:for循环
		//定义复制的数组e,初始化并给予数组a的长度;
		int []e=new int[a.length];
		//进行复制
		for (int i = 0; i < a.length; i++) {
			e[i]=a[i];
		}
		e[a.length-1]=0;//给数组e的最后一个元素赋值为0
		

		//输出
		for (int i = 0; i < b.length; i++) {
			System.out.print(b[i]+"\t");
		}	
		System.out.println();
		for (int i = 0; i < c.length; i++) {
			System.out.print(c[i]+"\t");
		}
		System.out.println();
		for (int i = 0; i < d.length; i++) {
			System.out.print(d[i]+"\t");
		}
		System.out.println();
		for (int i = 0; i < e.length; i++) {
			System.out.print(e[i]+"\t");
		}
	}

}

猜你喜欢

转载自blog.csdn.net/qq_40923411/article/details/81252956