java第七章数组课后作业

1.首先依次输入五句话,然后将它逆序输出。

public static void test() {
		/*
		 * 首先依次输入五句话,然后将它逆序输出。
		 */
		System.out.println("请输入5句话");
		String string[] = new String[] {"在java中,","数组可以储存","一组连续的、","数据类型相同的","元素"};
		for (int i = 0; i < string.length; i++) {
			System.out.println("第"+(i+1)+"句话:"+string[i]);
		}
		System.out.println("\n"+"逆序输出5句话为:");
		for (int i = string.length-1; i >=0; i--) {
			System.out.println(string[i]);
		}
	}

2.某百货商场当日消费积分最高的八名顾客,他们的积分分别是:8、25、7、36、13、2、89、63。 编写程序找出最低的积分及他在数组中的原始位置(下标)。

public static void test2() {
		/*
		 * 某百货商场当日消费积分最高的八名顾客,他们的积分分别是18、25、7、36、13、2、89、63。
		 * 编写程序找出最低的积分及他在数组中的原始位置(下标)。
		 */
		int points[] = new int[] {18,25,7,36,13,2,89,63};   //创建一个整形数组,并把顾客消费的积分作为该数组的元素
		int min = 0;    //初始化最低积分
		int index = points.length;  //定义变量index,存储最低积分的下标
		min = points[0];    //假设第一个元素为最低积分,下标为0
		for (int i = 0; i < points.length; i++) {     //令min和该数组的其他数一一比较
			if(min>points[i]) {				//如果出现一个数比min小就替换掉min;
				min = points[i];
				index = i;
			}
		}
		System.out.println("最低的积分为:"+min);
		System.out.println("最低的积分的下标为:"+index);
	}

3.从键盘输入10个整数,合法值为1、2或3,不是这三个数则是为非法数字。试编程统计每个整数和非法数字的个数。

public static void test3() {
		/*
		 * 从键盘输入10个整数,合法值为1、2或3,不是这三个数则是为非法数字。试编程统计每个整数和非法数字的个数。
		 */
		Scanner input = new Scanner(System.in);
		int nums[] = new int[10];
		int count[] = new int[4];
		System.out.println("请输入10个数");
		for (int i = 0; i < nums.length; i++) {
			nums[i] = input.nextInt();
//			if(num == 1) {
//				count[0] ++;
//			}else if(num == 2) {
//				count[1] ++;
//			}else if(num == 3) {
//				count[2] ++;
//			}else {
//				count[3] ++;
//			}
			switch (nums[i]) {
			case 1:
				count[0] ++;
				continue;    //break;也一样
			case 2:
				count[1] ++;
				continue;
			case 3:
				count[2] ++;
				continue;

			default:
				count[3] ++;
				continue;
			}
			
			
		}
		
			System.out.println("1输入的次数:"+count[0]);
			System.out.println("2输入的次数:"+count[1]);
			System.out.println("3输入的次数:"+count[2]);
			System.out.println("其他输入的次数:"+count[3]);
		
	}

4.假设一个数组的长度为5, int [ ] array = new int[ ] { 1, 3, -1, 5, -2}; 现创建一个新数组 new Array[ ] ,要求新数组中的元素   存顺序与原数组的元素逆序,并且如果原素组中的值小于0, 在新数组中按0 存储。编写程序输出新数组中的元素。

public static void test4() {
		/*
		 * 假设一个数组的长度为5, int [ ] array = new int[ ] { 1, 3, -1, 5, -2};
		 * 现创建一个新数组 new Array[ ] ,要求新数组中的元素存顺序与原数组的元素逆序,并且如果原素组中的值小于0,
		 * 在新数组中按0 存储。编写程序输出新数组中的元素。
		 */
		int [] array = new int [] {1,3,-1,5,-2};   //定义一个存放五个元素的数组
		int [] array2 = new int [5];              //定义一个新的数组
		System.out.println("原数组为:");
		for (int i = 0; i < array.length; i++) {      //循环输出原数组
			System.out.print(array[i]+"   ");
		}
		for (int i = array.length-1 ,j = 0; i >=0 ; i--,j++) {   //循环逆序给新数组赋值;
			if (! (array[i]<0)) {  
				array2[j] = array[i];
			}else {									// //如果原数组中元素的值小于0,那么在新数组中按零储存;
				continue;
			}
		}
		System.out.println("\n逆序处理后的数组为:");
		for (int i = 0; i < array2.length; i++) {   //循环输出进过逆序处理之后的新数组
			System.out.print(array2[i]+"   ");
		}
	}

5.插入英文歌曲。

public static void test5() {
		/*
		 * 插入英文歌曲。
		 */
		String[] music = new String[] {"Island","Ocean","Pretty","Sun"};  //原数组
		String[] musics = new String[5];     //创建一个新数组
		for (int i = 0; i < music.length; i++) {   //循环给新数值赋值
			musics[i] = music[i];
		}
		System.out.print("插入前的数组为:");
		for (int i = 0; i < music.length; i++) {    //循环输出原数组
			System.out.print(music[i]+"   ");
		}
		System.out.print("\n请输入歌曲名称:");
		Scanner input = new Scanner(System.in);
		String name = input.next();
		int index = 0;    //初始化,用来接收先插入元素的下标
		for (int i = 0; i < music.length; i++) {
			if(music[i].compareToIgnoreCase(name)>0) {  //调用compareToIgnoreCase()方法比较字符串大小
				index = i;
				break;
			}
		}
		for (int i =musics.length-1; i>index; i--) {  //循环使新插入的元素后面的元素往后移一个下标
			musics[i] = musics[i-1];
		}
		musics[index] = name;   //给新插入元素赋值为键盘输入的那个值
		System.out.print("插入后的数组为:");  
		for (int i = 0; i < musics.length; i++) {    //循环输出插入后的数组
			System.out.print(musics[i]+"   ");
		}
	}

猜你喜欢

转载自blog.csdn.net/suixincaesar/article/details/79827882