J1_24_1,J1_24_2,J1_24_3


一、J1_24_1

编写一个程序,对用户输入的任意一组字符如{3,1,4,7,2,1,1,2,2},输出其
中出现次数最多的字符,并显示其出现次数。如果有多个字符 出现次数均为最大且相等,
则输出最先出现的那个字符和它出现的次数。例如,上面输入的字符集合中,“1”和“2”
都出现了 3 次,均为最大出现次数,因为“1”先出现,则输出字符“1”和它出现的次数 3
次。
注意:使用分支、循环结构语句实现。

代码如下:

public class Week01 {
    public static void main(String[] args) {
        menu();
    }

    /**
     * 对用户输入的任意一组字符输出其中出现次数最多的字符,并显示其出现次数
     */
    public static void menu() {
        // 导入输入包
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一串字符串:");
        // 输入的字符串
        String str = input.next();
        // 保存出现次数
        int a = 0, e = 0, i = 0, o = 0, u = 0;
        // 把输入的字符串保存为数组
        char[] charArray = str.toCharArray();
        // 用来保存输入的字符集合
        Map map = new HashMap();
        // map.put(charArray[1], 1);
        // 遍历数组
        for (int j = 0; j < charArray.length; j++) {
            // 判断集合中是否存在,存在加一不开辟空间
            if (map.containsKey(charArray[j])) {
                map.put(charArray[j], (int) map.get(charArray[j]) + 1);
            } else {
                // 不存在添加至集合中
                map.put(charArray[j], 1);
            }
        }
        // 判断出现次数最多的值
        char max = (char) map.keySet().toArray()[0];
        int Intmax = (int) map.get(max);
        Set<Map.Entry<Object, Object>> entrys = map.entrySet();

        for (Map.Entry<Object, Object> en : entrys) {

            if ((int) en.getValue() > Intmax) {
                max = (char) en.getKey();
                Intmax = (int) en.getValue();
            }
        }
        System.out.println(max + ":出现" + Intmax+"次");

    }
}

二、J1_24_2

求 n 以内(不包括 n)同时能被 3 和 7 整除的所有自然数之和的平方根 s,然后将结果 s 输出。
例如若 n 为 1000 时,则 s=153.909064。
注意:使用循环语句结构实现。
n 由键盘输入,且 100 ≤ n ≤10000。

代码如下:

public class Week02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入n的值:");
        mothed(sc);
    }

    private static void mothed(Scanner sc) {
        int num = 0;// 自然数之和
        int n;// 100 ≤ n ≤10000
        do {
            n = sc.nextInt();
        } while ((n < 100) || (n > 10000));
        // 能同时被3和7整除的自然数,范围n
        for (int i = 21; i < n; i++) {
            if (i % 3 == 0 && i % 7 == 0) {
                num += i;
            }
        }
        System.out.println(Math.sqrt(num));
    }
}

二、J1_24_3

输入整数 a,输出结果 s,其中 s 与 a
的关系是:s=a+aa+aaa+aaaa+aa…a,最后为 a 个 a。例如 a=2 时,s=2+22=24。
注意:
①使用循环结构语句实现。
②a由键盘输入,且 2 ≤ a ≤9。

代码如下:

public class Week03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        a_aa_aaa(sc);
    }

    private static void a_aa_aaa(Scanner sc) {
        int a = sc.nextInt();
        int b = a;
        int x = 0;
        for (int i = 0; i < a; i++) {
            System.out.println(b);
            x += b;
            b *= 10;
            b += a;
        }
        System.out.println(x);
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值