统计字符串中每个字符出现次数(不区分大小写) 第三次作业

1、
【问题描述】
使用do-while语句编写一个Java程序,在屏幕上输出1 + 2! + 3! + …… + n!的和

【输入形式】

Please input the value of n:
输入阶乘项最后一个数n的值

【输出形式】
输出1 + 2! + 3! + …… + n!的和

【样例输入①】

3

【样例输出①】

9

【样例说明】
输入和输出的格式要和指定格式严格匹配,否则不得分。

【评分标准】
结果完全正确得满分。

【备注】
从键盘读入int数据,可以用如下代码:
Scanner in = new Scanner(System.in);
int n = in.nextInt();
使用Scanner类,需要导入import java.util.Scanner;

package learn;

import java.util.Scanner;

public class Demo {
	public static void main(String args[]) {
		System.out.println("Please input a number:");
		Scanner in=new Scanner(System.in);
		int x=in.nextInt();
		int sum=0;
		int i=1;
		do {
			sum+=fun(i);
			i++;
		}while(i<=x);
		System.out.println("1+2!+3!+...+n!= "+sum);
		
	}
	public static int fun(int x) {
		int t=1;
		for(int i=1;i<=x;i++) {
			t*=i;
		}
		return t;
	}
}
package learn;

import java.util.Scanner;

public class Demo {
	public static void main(String args[]) {
		System.out.println("Please input a number:");
		Scanner in=new Scanner(System.in);
		int x=in.nextInt();
		int sum=0;
		int i=1;
		int t=1;
		do {
			t=t*i;
			sum+=t;
			i++;
		}while(i<=x);
		System.out.println("1+2!+3!+...+n!= "+sum);
	}
}

2、
【问题描述】
从键盘输入一行英文字符串,只统计字符串中出现的每个英文字母的个数。大小写字母算相同的字符,不做区分,例如a和A,算相同字符。

【输入形式】
输入一行英文字符串。

【输出形式】
以合适的形式输出每个英文字母出现的次数,没有出现的字母,不输出次数。

【样例输入①】
hello,world.

【样例输出①】
(D)Num=1
(E)Num=1
(H)Num=1
(L)Num=3
(O)Num=2
®Num=1
(W)Num=1

【样例输入②】
this is a pen,that is a circle.

【样例输出②】
(A)Num=3
©Num=2
(E)Num=2
(H)Num=2
(I)Num=4
(L)Num=1
(N)Num=1
§Num=1
®Num=1
(S)Num=3
(T)Num=3

package learn;

import java.util.Scanner;
import java.util.TreeMap;
import java.util.Set;

public class Demo {
	public static void main(String args[]) {
		Scanner in=new Scanner(System.in);
		
		String str=in.nextLine();
		TreeMap<Character,Integer> t=new TreeMap<>();
		char x;
	
		for(int i=0;i<str.length();i++) {
			x=str.charAt(i);
			if((x>='a'&&x<='z')||(x>='A'&&x<='Z')) {
			if(x>='a'&& x<='z') {
				x=Character.toUpperCase(x);
			}
			if(t.containsKey(x)) {
				t.put(x, t.get(x)+1);
			}else {
				t.put(x, 1);
			}
			}
		}
		
		Set<Character> s=t.keySet();//得到键的集合
		for(char c:s) {//增强for循环
			System.out.println("("+c+")"+"Num="+t.get(c));
		}
	}
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值