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