关于#java#的问题:java编程(开发工具-eclipse)

关于#java#的问题:java编程(开发工具-eclipse)
求解答

img

img


package csdn006;

import java.math.BigDecimal;
import java.util.*;

public class Test001 {
    public static void main(String[] args) {
        BigDecimal bigDecimal = new BigDecimal("2");
        int length = 2;
        for (int i = 1;i < length;i++) {
            BigDecimal ib = new BigDecimal(i);
            bigDecimal = new BigDecimal(String.valueOf((bigDecimal.multiply(ib).multiply(bigDecimal.multiply(ib)))
                    .divide(
                            (bigDecimal.multiply(ib).subtract(new BigDecimal(1)))
                                    .multiply(bigDecimal.multiply(ib).add(new BigDecimal(1))), 6, BigDecimal.ROUND_HALF_UP)));
            if (bigDecimal.compareTo(new BigDecimal("1.000001")) < 0) {
                System.out.println(length);
            }else {
                length++;
            }
        }

        // 5
        // 定义长度为10的数组
        int[] arr = new int[10];
        // 定义max,
        int arrLength = 0;
        while (arr[9] == 0) {
            // 随机生成30 ~ 95之间的数字
            int random = (int)(Math.random()*(95 - 30 + 1)) + 30;
            if (random % 7 == 0) {
                arr[arrLength] = random;
                arrLength++;
            }
        }
        System.out.println("第 5 题答案:" + Arrays.toString(arr));

        // 6
        System.out.print("第 6 题答案:");
        for (int i = 100;i < 999;i++) {
            // 得到三位数的最高位
            int max = i / 100;
            // 得到最低位
            int min = i % 10;
            // 得到中间数
            int middle = i % 100 / 10;
            if (max == min && max != middle) {
                System.out.print(i + ",");
            }
        }

        // 7
        // 定义各字母出现的初始化次数,默认都是0
        Map<Character,Integer> map = new HashMap<>(26);
        int q = 0,
            w = 0,
            e = 0,
            r = 0,
            t = 0,
            y = 0,
            u = 0,
            ii = 0,
            o = 0,
            p = 0,
            l = 0,
            k = 0,
            j = 0,
            h = 0,
            g = 0,
            f = 0,
            d = 0,
            s = 0,
            a = 0,
            z = 0,
            x = 0,
            c = 0,
            v = 0,
            b = 0,
            n = 0,
            m = 0;
        char[] az = new char[50];
        for (int i = 0;i < az.length;i++) {
            char random = (char)('a'+Math.random()*('z'-'a'+1));
            az[i] = random;
        }
        for (int i = 0;i < az.length;i++) {
            switch (az[i]) {
                case 'q':
                    q = q + 1;
                    map.put('q',q);
                    break;
                case 'w':
                    w = w + 1;
                    map.put('w',w);
                    break;
                case 'e':
                    e = e + 1;
                    map.put('e',e);
                    break;
                case 'r':
                    r = r + 1;
                    map.put('r',r);
                    break;
                case 't':
                    t = t + 1;
                    map.put('t',t);
                    break;
                case 'y':
                    y = y + 1;
                    map.put('y',y);
                    break;
                case 'u':
                    u = u + 1;
                    map.put('u',u);
                    break;
                case 'i':
                    ii = ii + 1;
                    map.put('i',ii);
                    break;
                case 'o':
                    o = o + 1;
                    map.put('o',o);
                    break;
                case 'p':
                    p = p + 1;
                    map.put('p',p);
                    break;
                case 'l':
                    l = l + 1;
                    map.put('l',l);
                    break;
                case 'k':
                    k = k + 1;
                    map.put('k',k);
                    break;
                case 'j':
                    j = j + 1;
                    map.put('j',j);
                    break;
                case 'h':
                    h = h + 1;
                    map.put('h',h);
                    break;
                case 'g':
                    g = g + 1;
                    map.put('g',g);
                    break;
                case 'f':
                    f = f + 1;
                    map.put('f',f);
                    break;
                case 'd':
                    d = d + 1;
                    map.put('d',d);
                    break;
                case 's':
                    s = s + 1;
                    map.put('s',s);
                    break;
                case 'a':
                    a = a + 1;
                    map.put('a',a);
                    break;
                case 'z':
                    z = z + 1;
                    map.put('z',z);
                    break;
                case 'x':
                    x = x + 1;
                    map.put('x',x);
                    break;
                case 'c':
                    c = c + 1;
                    map.put('c',c);
                    break;
                case 'v':
                    v = v + 1;
                    map.put('v',v);
                    break;
                case 'b':
                    b = b + 1;
                    map.put('b',b);
                    break;
                case 'n':
                    n = n + 1;
                    map.put('n',n);
                    break;
                case 'm':
                    m = m + 1;
                    map.put('m',m);
                    break;
                default:
            }
        }
        List<Integer> list = new ArrayList<>(30);
        list.add(q);
        list.add(w);
        list.add(e);
        list.add(r);
        list.add(t);
        list.add(y);
        list.add(u);
        list.add(ii);
        list.add(o);
        list.add(p);
        list.add(l);
        list.add(k);
        list.add(j);
        list.add(h);
        list.add(g);
        list.add(f);
        list.add(d);
        list.add(s);
        list.add(a);
        list.add(z);
        list.add(x);
        list.add(c);
        list.add(v);
        list.add(b);
        list.add(n);
        list.add(m);
        System.out.println();
        System.out.println("############第 7 题答案###########");
        System.out.println("数组元素为:" + Arrays.toString(az));
        System.out.println("元素出现的次数为:" + map);
        int maxCount = Collections.max(list);
        System.out.println("数组中出现字母最多的字母是:" + getKey(map,maxCount));

        // 8
        Map<Integer,Integer> map1 = new HashMap<>(10);
        int[] numberArray = new int[50];
        for (int i = 0;i<numberArray.length;i++) {
            int random = (int)(Math.random() * 10);
            numberArray[i] = random;
        }
        int count1 = 0;
        int count2 = 0;
        int count3 = 0;
        int count4 = 0;
        int count5 = 0;
        int count6 = 0;
        int count7 = 0;
        int count8 = 0;
        int count9 = 0;
        for (int i = 0;i<numberArray.length;i++) {
            switch (numberArray[i]) {
                case 1:
                    count1 = count1 + 1;
                    map1.put(1,count1);
                    break;
                case 2:
                    count2 = count2 + 1;
                    map1.put(2,count2);
                    break;
                case 3:
                    count3 = count3 + 1;
                    map1.put(3,count3);
                    break;
                case 4:
                    count4 = count4 + 1;
                    map1.put(4,count4);
                    break;
                case 5:
                    count5 = count5 + 1;
                    map1.put(5,count5);
                    break;
                case 6:
                    count6 = count6 + 1;
                    map1.put(6,count6);
                    break;
                case 7:
                    count7 = count7 + 1;
                    map1.put(7,count7);
                    break;
                case 8:
                    count8 = count8 + 1;
                    map1.put(8,count8);
                    break;
                case 9:
                    count9 = count9 + 1;
                    map1.put(9,count9);
                    break;
                default:
            }
        }
        List<Integer> list1 = new ArrayList<>();
        list1.add(count1);
        list1.add(count2);
        list1.add(count3);
        list1.add(count4);
        list1.add(count5);
        list1.add(count6);
        list1.add(count7);
        list1.add(count8);
        list1.add(count9);
        System.out.println("############第 8 题答案###########");
        System.out.println("数组元素为:" + Arrays.toString(numberArray));
        System.out.println("元素出现的次数为:" + map1);
        int maxCountOfNumber = Collections.max(list1);
        System.out.println("数组中出现字母最多的数字是:" + getKeyOfNumber(map1,maxCountOfNumber));
    }

    private static List<Character> getKey(Map<Character, Integer> map, Integer value) {
        // 临时存放key,
        List<Character> containedKey = new ArrayList<>();
        /**
         * 遍历map
         */
        for (Map.Entry<Character, Integer> entry : map.entrySet()) {
            /**
             * 如果value和key对应的value相同 并且 key不在list中
             */
     //       if (value.equals(entry.getValue()) && (!containedKey.contains(entry.getKey()))) {
            if (value.equals(entry.getValue())) {
                containedKey.add(entry.getKey());
            }
        }
        return containedKey;
    }
    private static List<Integer> getKeyOfNumber(Map<Integer, Integer> map, Integer value) {
        // 临时存放key,
        List<Integer> containedKey = new ArrayList<>();
        /**
         * 遍历map
         */
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            /**
             * 如果value和key对应的value相同 并且 key不在list中
             */
            //       if (value.equals(entry.getValue()) && (!containedKey.contains(entry.getKey()))) {
            if (value.equals(entry.getValue())) {
                containedKey.add(entry.getKey());
            }
        }
        return containedKey;
    }
}

for循环,累计,在判断某项是否符合条件

for循环,while循环,递归,迭代器都可实现

for循环加条件判断就行了

这么多题目,你要问哪一题?