5.Java基础一维数组及经典应用练习题

 1.猜数游戏

有一个数列:8,4,2,1,23,344,12 循环输出数列的值 求数列中所有数值的和 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

import java.util.Arrays;
import java.util.Scanner;

public class Lianxi {
			public static void main(String[] args) {
				
				int nums[] = new int[] {8,4,2,1,23,344,12};
				System.out.println(Arrays.toString(nums));
				int sum = 0;
				
				Scanner sc = new Scanner(System.in);
				System.out.println("请输入一个数:");
				int num = sc.nextInt();
				boolean bool = false;
				for(int i = 1;i<nums.length;i++) {
					System.out.println("nums"+i+"==="+nums[i]);
					sum += nums[i];
					if(num==nums[i]) {
						bool = true;
					}
				}
				System.out.println("数列总和为"+sum);
				System.out.println("是否包含"+bool);
			}
}

 运行结果1:

[8, 4, 2, 1, 23, 344, 12]
请输入一个数:
3
nums1===4
nums2===2
nums3===1
nums4===23
nums5===344
nums6===12
数列总和为386
是否包含false

 运行结果2:

[8, 4, 2, 1, 23, 344, 12]
请输入一个数:
4
nums1===4
nums2===2
nums3===1
nums4===23
nums5===344
nums6===12
数列总和为386
是否包含true

 2.获取最低价手机价格   需求说明 求出4家店的最低手机价格

package com.hz;

import java.util.*;



public class Lianxi1 {
	public static void main(String[] args) {
		double[] q = new double[4];
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入4家店的价格:");
		for(int i = 0;i<q.length;i++) {
			System.out.print("第"+(i+1)+"家店的价格:");
			q[i] = sc.nextDouble();
		}
		double min = q[0];
		for(int i = 0; i<q.length;i++) {
			if(q[i]<min) {
				min=q[i];
			}
		}
		System.out.println("手机店最小值分为:"+min);
	}
}

 运行结果:

请输入4家店的价格:
第1家店的价格:3
第2家店的价格:2
第3家店的价格:1
第4家店的价格:4
手机店最小值分为:1.0

 3.数组存储5笔购物金额,在控制台输出并计算总金额

package com.hz;

import java.util.Arrays;
import java.util.Scanner;

public class Lianxi2 {
			public static void main(String[] args) {
				
				double nums[] = new double[5] ;
				
				double sum = 0;
				
				Scanner sc = new Scanner(System.in);
				System.out.println("请输入会员本月消费金额");
				for(int i = 0;i<nums.length;i++) {
				System.out.println("请输入第"+(i+1)+"笔购物金额");
				 nums[i] = sc.nextInt();
				}
				System.out.println(Arrays.toString(nums));
				System.out.println("序号\t\t金额(元)");
				for(int i = 0;i<nums.length;i++) {
					
					System.out.println((i+1)+"\t\t"+nums[i]);
					sum += nums[i];
					
				}
				System.out.println("总金额\t\t"+sum);
				
			}
}

 运行结果:

请输入会员本月消费金额
请输入第1笔购物金额
123
请输入第2笔购物金额
122
请输入第3笔购物金额
22
请输入第4笔购物金额
33
请输入第5笔购物金额
444
[123.0, 122.0, 22.0, 33.0, 444.0]
序号		金额(元)
1		123.0
2		122.0
3		22.0
4		33.0
5		444.0
总金额		744.0

1.使用循环输入5个数,获得最小的数字

package com.hz;

import java.util.*;



public class Lianxi3 {
	public static void main(String[] args) {
		int[] q = new int[5];
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入5个数:");
		for(int i = 0;i<q.length;i++) {
			System.out.print("第"+(i+1)+"个数:");
			q[i] = sc.nextInt();
		}
		double min = q[0];
		for(int i = 0; i<q.length;i++) {
			if(q[i]<min) {
				min=q[i];
			}
		}
		System.out.println("最小数为:"+min);
	}
}

运行结果:

请输入5个数:
第1个数:12
第2个数:33
第3个数:444
第4个数:12
第5个数:212
最小数为:12.0


2.  五个数字11,22,9,7,1   降序排序

package com.hz;

import java.util.*;


public class Lianxi4 {
	public static void main(String[] args) {
		int nums[] = new int[] {11,22,9,7,1};
		System.out.println(Arrays.toString(nums));
		for(int i = 0;i<nums.length-1;i++) {
			
			for(int j = 0;j<nums.length-1-i;j++) {
				if(nums[j] < nums[j+1]) {
					int temp = nums[j];
					nums[j] = nums[j+1];
					nums[j+1] = temp;
				}
				
			}
			
		}
		System.out.println(Arrays.toString(nums));
	}
}

 运行结果:

[11, 22, 9, 7, 1]
[22, 11, 9, 7, 1]

3.定义一个数组,并初始化信息(红烧带鱼,鱼香肉丝,蛋炒饭),金额(13.5,12,11),并循环打印

package com.hz;

import java.util.*;

public class Lianxi5 {
	public static void main(String[] args) {
		String nums[] = new String[]{"红烧带鱼","鱼香肉丝","蛋炒饭"};
		double nums1[] = new double[] {13.5,12,11};
		System.out.println(Arrays.toString(nums));
		for(int i = 0;i<nums.length;i++) {
			System.out.println(nums[i]+"==="+nums1[i]);
			
		}
	}
}

 运行结果:

[红烧带鱼, 鱼香肉丝, 蛋炒饭]
红烧带鱼===13.5
鱼香肉丝===12.0
蛋炒饭===11.0

其他

键盘录入数组长度创建数组

package com.hz;

import java.util.*;


public class Lianxi4 {
	public static void main(String[] args) {
		int nums[] = new int[] {11,22,9,7,1};
		System.out.println(Arrays.toString(nums));
		for(int i = 0;i<nums.length-1;i++) {
			
			for(int j = 0;j<nums.length-1-i;j++) {
				if(nums[j] < nums[j+1]) {
					int temp = nums[j];
					nums[j] = nums[j+1];
					nums[j+1] = temp;
				}
				
			}
			
		}
		System.out.println(Arrays.toString(nums));
	}
}

运行结果:

[11, 12, 13]
[1, 12, 111]
[89, 79, 76]
请输入你的长度:
3
12
33
333
[12, 33, 333]

插入:

package com.hz;

import java.util.Scanner;

public class Lianxi7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int s[] = new int[] {99,85,63,60,0};
		int charu = sc.nextInt();
		int  w = s.length-1;
		for(int i = 0;i<s.length;i++) {
			if(charu>s[i]) {
				w=i;
				break;
			}
			
		}
		System.out.println("插入位置"+(w+1));
			
		for(int i = s.length-1;i>w;i--) {
			s[i] = s[i-1];
		}
		s[w] = charu;
		for(int i = 0;i<s.length;i++) {
			System.out.println(s[i]+"\t");
		}
	}

}

运行结果:

3
插入位置5
99	
85	
63	
60	
3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

懒洋洋大魔王

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

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

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

打赏作者

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

抵扣说明:

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

余额充值