一、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);
}
}