关于#java#的问题:java编程(开发工具-eclipse)
求解答
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循环加条件判断就行了
这么多题目,你要问哪一题?