第八章---数组

示例:

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

import java.util.*;
public class Dibazhang {
	public static void main(String[] args){
		Scanner input=new Scanner(System.in);
		String[] ju=new String[5];
		System.out.println("请输入5句话");
		for(int i=0;i<ju.length;i++){
			System.out.print("第"+(i+1)+"句话");
			ju[i]=input.next();
		}
		System.out.println();		//*换行
		System.out.println("逆序输出5句话为:");
		for(int i=0;i<ju.length;i++){
			System.out.println(ju[ju.length-1-i]);	//*逆序
		}
	}
}

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

import java.util.*;
public class Dibazhang {
	public static void main(String[] args){
		Scanner input=new Scanner(System.in);
		int[] gral=new int[]{18,25,7,36,13,2,89,63};
		int min=gral[0];	//*存储最低分
		int index=0;		//*存储最低积分下标
		System.out.print("当日消费最高的八位顾客:");
		for(int i=0;i<gral.length;i++){
			System.out.print(gral[i]+"\t");
			if(min>gral[i]){	//*如果用来存储最低分的变量min大于数组中的数
				min=gral[i];	//*就把数组中的值,赋给min
				index=i;		//*循环把该最低分的下标赋给index
			}
		}
		System.out.println();	//*换行
		System.out.println("最低积分是:"+min+"下标是:"+index);
	}
}

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

import java.util.*;
public class Dibazhang {
	public static void main(String[] args){
		Scanner input=new Scanner(System.in);
		int[] nums=new int[10];		//*声明数组,长度10,存储用户输入的数字
		int[] count=new int[4];		//*声明数组,长度10,存储三个合法数字和非法数字的个数
		System.out.println("请输入10个数:");
		for(int i=0;i<nums.length;i++){
			nums[i]=input.nextInt();	//*用户输入
			 //*通过循环,使用switch选择结构,,先计算switch后面小括号里的表达式
			 //*然后将计算结果顺序与每个case后边的常量相比较,当二者相等时,
			 //*用来存储的数字的四个空间,开始自加1
			switch(nums[i]){	
				case 1:
					count[0]++;		//*相当于计数作用
					break;
				case 2:
					count[1]++;
					break;
				case 3:
					count[2]++;
					break;
				default:
					count[3]++;
			}
		}
		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 存储。编写程序输出新数组中的元素。

import java.util.*;
public class Dibazhang {
	public static void main(String[] args){
		Scanner input=new Scanner(System.in);
		int[] array=new int[]{1,3,-1,5,-2};
		System.out.println("原数组为:");
		for(int i=0;i<array.length;i++){	//*循环输出数组里储存的数字
			System.out.print(array[i]+"\t");
			if(array[i]<0){		//*循环比较,如果数组里的数字小于0,就把0赋给数组中的数字
				array[i]=0;
				continue;
			}
		}
		System.out.println();	//*换行
		System.out.println("逆序并处理后的数组为:");
		for(int i=0;i<array.length;i++){	//*循环遍历处理后的数字
			System.out.print(array[array.length-1-i]+"\t");
		}
	}
}

5.有一组英文歌曲,按照歌曲名称的字母顺序从"A"到"Z"顺序排列,保存在一个数组中。现在增加一首新歌,将他插入数组,并保存歌曲名称升序排列。

import java.util.*;
public class Dibazhang {
	public static void main(String[] args){
		Scanner input=new Scanner(System.in);
		String[] musics=new String[]{"Island","Ocean","Pretty","Sun"};//*定义数组,储存歌曲名称
		String[] sc=new String[5];			//*定义数组,长度为5,用来储存插入处理后的数据
		System.out.print("插入前的数组为:");
		for(int i=0;i<musics.length;i++){
			System.out.print(musics[i]+" ");//*输出原数组
		}
		for(int i=0;i<musics.length;i++){	//*通过循环,把原数组的空间内容,赋给数组sc
			sc[i]=musics[i];
		}
		System.out.println(); //*换行
		System.out.print("请输入要插入的歌曲名称:");
		String name=input.next();
		int dex=sc.length;	//*把sc的数组长度赋给dex
		for(int a=0;a<sc.length;a++){
			if(sc[a].compareToIgnoreCase(name)>0){	//*通过此方法,找到该插入的位置
				dex=a;		//*把该位置赋给dex
				break;
			}
		}
		//*元素后移
		for(int p=sc.length-1;p>dex;p--){	
			sc[p]=sc[p-1];
		}
		sc[dex]=name;
		System.out.print("插入后的数组:");
		for(int y=0;y<sc.length;y++){
			System.out.print(sc[y]+" ");
		}
	}
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳落青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值