- // 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
分析:A:创建键盘录入数据对象
B:键盘录入多个数据,我们不知道多少个,所以用集合存储
C:以0结束,这个简单,只要键盘录入的数据是0,我就不继续录入数据了
D:把集合转成数组 E:对数组排序 F:获取该数组中的最大索引的值
import
java.util.ArrayList;
import
java.util.Arrays;
import
java.util.Scanner;
public class ArrayListTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
ArrayList
array=new ArrayList();
while(true) {
System.out.println(“请输入数据:”);
int number=sc.nextInt();
if(number!=0) {
array.add(number);
}else {
break;
}
}
Integer[]
i=new Integer[array.size()];
array.toArray(i);
Arrays.sort(i);
System.out.println(“数组是:”+arrayToString(i)+“最大值:”+i[i.length-1]);
}
public static String arrayToString(Integer[] i) {
StringBuilder sb=new
StringBuilder();
sb.append("[");
for(int x=0;x<i.length;x++) {
if(x==i.length-1) {
sb.append(i[x]);
}else {
sb.append(i[x]).append(", ");
}
}
sb.append("]");
return sb.toString();
}
}
- // 需求 :“aababcabcdabcde”,获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
分析:A:定义一个字符串(可以改进为键盘录入)
B:定义一个TreeMap集合 键:Character 值:Integer
C:把字符串转换为字符数组 D:遍历字符数组,得到每一个字符
E:拿刚才得到的字符作为键到集合中去找值,看返回值
是null:说明该键不存在,就把该字符作为键,1作为值存储
不是null:说明该键存在,就把值加1,然后重新存储该键和值
F:定义字符串缓冲区变量 G:遍历集合,得到键和值,进行按照要求拼接
H:把字符串缓冲区转换为字符串输出
import
java.util.Scanner;
import
java.util.Set;
import
java.util.TreeMap;
public class TreeMapDemo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“请输入一个字符串:”);
String line=sc.nextLine();
TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();
char[] chs=line.toCharArray();
for(char ch:chs) {
Integer i=tm.get(ch);
if(i==null) {
tm.put(ch,1);
}else {
i++;
tm.put(ch,i);
}
}
StringBuilder sb=new
StringBuilder();
Set set=tm.keySet();
for(Character key:set) {
Integer value=tm.get(key);
sb.append(key).append("(").append(value).append(")");
}
String result=sb.toString();
System.out.println(“reuslt:”+result);
}
}
58.请编写一个计算最小素数的程序。大于n的最小素数。
import
java.util.Scanner;
public class zhishu {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“请输入一个整数:”);
int n=sc.nextInt();
for(int i=n;;i++) {
boolean b=true;
for(int j=2;j<i;j++) {
if(i%j==0) {
b=false;
break;
}
}
if(b) {
System.out.println(“大于”+n+“的素数为:”+i);
break;
}
}
}
}
59.要求由程序参数指定一个整数n,然后由程序输出1n+2n+……+2008n的个位数。
import
java.util.Scanner;
public class lianxi {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“请输入一个整数:”);
int n=sc.nextInt();
int sum=0;
for(int i=1;i<=2008;i++) {
sum+=i*n;
}
int result=sum%10;
System.out.println(result);
}
}
60.计算并输出100阶乘的结果
import java.util.Scanner;
public class lianxi {
public static void main(String[] args) {
int n=100;
double result=1;
for(int i=n;i>0;i–) {
result*=i;
}
System.out.println(result);
}
}