Java习题总结 - 05

这篇博客总结了6道Java编程课内的练习题,包括计算1到100整数频率、显示不重复数、模拟豆机实验、判断数组是否相同、检查连续四个相同值及猜字游戏的解题思路和代码实现。

Java习题总结 - 课内习题总结

 

第1题

编写程序,读取在1到 100 之间的整数,然后计算每个数出现的次数。 假定输入是以 0 结束的。下面是这个程序的一个运行示例:
 

Enter the integers between 1 and 100: 2 5 6 5 4 3 23 43 2 0
2 occurs 2 times 
3 occurs 1 times 
4 occurs 1 times 
5 occurs 2 times 
6 occurs 1 times 
23 occurs 1 times 
43 occurs 1 times 

解题思路:

题中的数据——输入的1到 100 之间的整数,0表示结束

题目要求——计算每个数出现的次数

步骤:

1.提示输入数据

2.将数据存储在数组中

3.利用计数排序的思路,计算每个数字出现的次数

4.输出结果

代码:

import java.util.Scanner;
class Test01
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        int[] a = new int[100];
        int flag = 1;
        System.out.print("请输入数字:");//提示输入
        while(true){
            flag=input.nextInt();//读取数据
            if(flag == 0) break;//当数据为零时,数据读入结束
            a[flag] = a[flag] + 1;//对应数组元素的值加1
        }
        for(int i = 0; i < 100; i++){
            if(a[i] != 0) System.out.println(i + "出现" + a[i] + "次");//打印结果
        }
    }
}

 

第2题

编写一个程序,读人 10 个数并且显示互不相同的数(即一个数出现多次,但仅显示一次)。 (提示,读入一个数,如果它是一个新数,则将它存储在数组中。如果该数已经在数组中,则忽略它。 )输入之后,数组包含的都是不同的数。下面是这个程序的运行示例:
 

Enter ten numbers: 1 2 3 2 1 6 3 4 S 2
The number of distinct number is 6
The distinct numbers are: 1 2 3 6 4 5

解题思路:

题中的数据——输入的数列,数列一共有几个不重复的数,

题目要求——找出数列中不重复的数,计算一共有几个,并显示在屏幕上

步骤:

1.提示输入

2.每读入一个数据,都跟前面已存储的数据进行比较,如果存在,则比较下一个数,不存在则存存储这个数

3.输出

代码:

import java.util.Scanner;
class Test02
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        int max = 0;
        int[] a = new int[10];
        for(int i = 0; i < 10; i++){
            a[max] = input.nextInt();//读入一个数,存储在数列的末尾
            max++;//数列的长度加1
            for(int j = 0; j < max - 1; j++){
                if(a[max - 1] == a[j]){//比较数列前面的数据与末尾的数据是否相同,
                    a[max - 1] = 0;//相同则末尾元素重置为0
                    max--;//数组长度减1
                    break;//查找下一个数
                }
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值