最新那些年,我们一起做过的 Java 课后练习题(6 - 10)(1),Java面试复习重点

最后

本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们:

目录:

二面蚂蚁金服(交叉面),已拿offer,Java岗定级阿里P6

Java面试核心知识点

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

二面蚂蚁金服(交叉面),已拿offer,Java岗定级阿里P6

Java面试核心知识点

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

结果

实例 7


题目

输入一行字符,分别统计其中的英文字母、空格、数字和其他字符的个数;

分析

遍历字符串,然后看每个字符属于的类别,分别计数;

实现

import java.util.Scanner;

/**

  • Created with IntelliJ IDEA.

  • @author : cunyu

  • @version : 1.0

  • @email : 747731461@qq.com

  • @公众号 : 村雨遥

  • @website : https://cunyu1943.github.io

  • @date : 2021/6/1 23:04

  • @project : Java 编程实例

  • @package : PACKAGE_NAME

  • @className : Example7

  • @description :

*/

public class Example7 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println(“输入字符串”);

String str = scanner.nextLine();

int character = 0;

int digit = 0;

int blank = 0;

int others = 0;

// 遍历字符串,然后统计其中的字符

for (int i = 0; i < str.length(); i++) {

char ch = str.charAt(i);

if (ch == ’ ') {

blank++;

} else if (ch >= ‘0’ && ch <= ‘9’) {

digit++;

} else if (ch >= ‘a’ && ch <= ‘z’ || ch >= ‘A’ && ch <= ‘Z’) {

character++;

} else {

others++;

}

}

System.out.println(“空格数:” + blank);

System.out.println(“英文字母数:” + character);

System.out.println(“数字数:” + digit);

System.out.println(“其他字符数:” + others);

}

}

结果

实例 8


题目

求 s = a + a a + a a a + … + a a … a s = a + aa + aaa + … + aa…a s=a+aa+aaa+…+aa…a 的值,其中 a a a 是一个数字,如 2 + 22 + 222 + … + 22…2

分析

首先是分别输入 a a a 和次数 count 的值,然后循环得到最大的数,每次进行累加求和,然后向前移动一位。

实现

import java.util.Scanner;

/**

  • Created with IntelliJ IDEA.

  • @author : cunyu

  • @version : 1.0

  • @email : 747731461@qq.com

  • @公众号 : 村雨遥

  • @website : https://cunyu1943.github.io

  • @date : 2021/6/2 16:25

  • @project : Java 编程实例

  • @package : PACKAGE_NAME

  • @className : Example8

  • @description :

*/

public class Example8 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println(“输入次数”);

int count = scanner.nextInt();

System.out.println(“输入 a”);

int a = scanner.nextInt();

int sum = 0;

int i = 0;

// 缓存尾数

int tmp = 0;

while (i < count) {

tmp += a;

sum += tmp;

a *= 10;

i++;

}

System.out.println(“最终和:” + sum);

}

}

结果

实例 9


题目

一个数如果恰好等于它的因子之和,那么这个数就叫做 “完数”,如 6 = 1 + 2 + 3,编程找出 1000 之内的所有完数。

分析

求 num 的各个因子,然后用一个变量 sum 来计算一个数 num 的因子之和,最后判断 sum 和 num 是否相等,若相等则说明该数是一个完数,若不相等则说明不是。

实现

/**

  • Created with IntelliJ IDEA.

  • @author : cunyu

  • @version : 1.0

  • @email : 747731461@qq.com

  • @公众号 : 村雨遥

  • @website : https://cunyu1943.github.io

  • @date : 2021/6/2 16:36

  • @project : Java 编程实例

  • @package : PACKAGE_NAME

  • @className : Example9

  • @description :

*/

public class Example9 {

public static void main(String[] args) {

System.out.println(“1000 以内的完数:”);

int count = 0;

for (int i = 1; i <= 1000; i++) {

if (check(i)) {

count++;

System.out.print(i + “\t”);

}

}

System.out.println(“\n1000 以内的完数个数:” + count);

}

/**

  • 判断一个数是否为完数

  • @param num

  • @return true 完数;false 非完数

*/

public static boolean check(int num) {

int sum = 0;

// 求 num 的各个因子并求和

for (int i = 1; i < num; i++) {

if (num % i == 0) {

总结

我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。

Mybatis源码解析

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。

Mybatis源码解析

[外链图片转存中…(img-ZmUB3skC-1715683425678)]

[外链图片转存中…(img-bJX4bRYS-1715683425678)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值