面试或者工作中经常用到的例子。

什么都不用说,上码!

1.wordcound

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//输入字符串统计大小写字母个数
public static void main(String[] args) {
System.out.println("请输入一串字符串");
Scanner s = new Scanner(System.in);
String string = s.nextLine();
int numberCount = 0;
int upperCaseCount = 0;
int lowerCaseCount = 0;
for (int i = 0; i < string.length(); i++) {
char c = string.charAt(i);
if (Character.isDigit(c)) {
//数字
numberCount += 1;
} else if (Character.isUpperCase(c)) {
//大写字母
upperCaseCount += 1;
} else if (Character.isLowerCase(c)) {
//小写字母
lowerCaseCount += 1;
}

}
System.out.println("大写字母数量" + upperCaseCount);
System.out.println("小写字母数量" + lowerCaseCount);
System.out.println("数字数量" + numberCount);

}

2.wordsplit

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//输入字符串按单词切分倒叙
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //创建一个从键盘输入对象
String s = scan.nextLine(); //保存输入的字符串
String[] str = s.split(" "); //以空格为切割,然后返回一个切割后的字符串数组
int len = str.length; //计算字符串数组的长度
String string = ""; //定义最后要保存到的字符串
for(int i = len-1; i >= 0; i--) { //循环遍历字符串数组
if(i != 0) { //判断字符串数组是否循环到最后一个字符串
string = string + str[i] + " "; //把一个个字符串拼接起来,中间再用空格隔开
}else { //这里表示已经循环到最后一个字符串
string = string + str[i]; //最后一个字符串拼接不用再加空格
}
}
System.out.println(string); //将结果输出到控制台

}

3.菲波那切数列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....每个月的兔子数(单位:对)形成了菲波那切数列。
*/
//第一种
public static final int MONTH = 15;
public static void main(String[] args) {
long f1 = 1L, f2 = 1L;
long f;
for(int i=3; i<MONTH; i++) {
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.print("第" + i +"个月的兔子对数: ");
System.out.println(" " + f2);
}
}

//另一种解法 优选 斐波那契数列
public static void main(String[] args) {
for (int i=1;i<=20;i++){
int num = getNum(i);
System.out.println("第 " + i + " 月份,兔子的数量为: " + num);
}
}
public static int getNum(int i){
if((i==1)||(i==2)){
return 1;
}else{
return getNum(i-1)+getNum(i-2);
}
}

4.9*9乘法口诀

1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
//9*9乘法口诀
for(int x=1;x<=9;x++){
for(int y=1;y<=x;y++){
System.out.print(x+"*"+y+"="+x*y+"\t");
}
System.out.println();
}
}

5.最大公约数和最小公倍数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void main(String[] args) {
//3.输入2个数字 求出最大公约数和最小公倍数
//求两个数最大公约数和最小公倍数
Scanner input = new Scanner(System.in);
System.out.println("请输入第一个数");
int a = input.nextInt();
System.out.println("请输入第二个数");
int b = input.nextInt();
int k=a>b?a:b;
int q = 0;
for (int i = 1; i <= k; i++) {
if (a%i==0 && b%i==0) {
q=i;
}
}
System.out.println(q);
System.out.println(a*b/q);
}

6.1000以内的所有完数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//一个数如果恰好等于它的因子之和,称为 "完数 "。例如6=1+2+3
public static void main(String[] args) {
System.out.print("1到1000的完数有: ");
for(int i=1; i<1000; i++) {
int t = 0;
for(int j=1; j<= i/2; j++) {
if(i % j == 0) {
t = t + j;
}
}
if(t == i) {
System.out.print(i + " ");
}
}
}

7.互不相同且无重复数字的三位数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//有1,2,3,4个数字互不相同且无重复数字的三位数
public static void main(String[] args) {
int count = 0;
for(int x=1; x<5; x++) {
for(int y=1; y<5; y++) {
for(int z=1; z<5; z++) {
//x!=y && y!=z && z!=x
if(x != y && y != z && x != z) {
count ++;
System.out.print(x*100 + y*10 + z + " ");
if(count % 4 == 0) {
System.out.println();
}
}
}
}
}
System.out.println("共有" + count + "个三位数");
}

8.计算平闰年

1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入年份");
int year=input.nextInt();
//year%400 == 0||year%100!=0&&year%4==0
if(year%400==0||(year%100!=0&&year%4==0)){
System.out.println("闰年");
}
else{
System.out.println("平年");
}
}

9.递归累加

1
2
3
4
5
6
7
8
9
10
11
12
13
//class Digui
//1到100累加
public int sum(int i){
if(i==1){
return 1;
}
// return i+sum(i-1);
return i+sum(i-1);
}
public static void main(String[] args) {
Digui test=new Digui();
System.out.println("结果:"+test.sum(100));
}

最后更新: 2020年05月10日 10:50

原始链接: https://yesong17.github.io/2020/03/12/Java%E4%BE%8B%E5%AD%90/

× 请我吃大餐~
打赏二维码