每日java5-12

  1. // 键盘录入多个数据,以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();

}

}

  1. // 需求 :“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);

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值