2024年Java最全那些年,我们一起做过的 Java 课后练习题(26 - 30)(2),java中级开发面试知识点

1200页Java架构面试专题及答案

小编整理不易,对这份1200页Java架构面试专题及答案感兴趣劳烦帮忙转发/点赞

百度、字节、美团等大厂常见面试题

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

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

实现

/**

  • Created with IntelliJ IDEA.

  • @author : cunyu

  • @version : 1.0

  • @email : 747731461@qq.com

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

  • @date : 2021/6/4 10:48

  • @project : Java 编程实例

  • @package : PACKAGE_NAME

  • @className : Example27

  • @description :

*/

public class Example27 {

public static void main(String[] args) {

// 默认是素数

boolean flag = false;

int count = 0;

System.out.println(“100 内的素数:”);

for (int i = 2; i < 100; i++) {

for (int j = 2; j <= Math.sqrt(i); j++) {

// 能除尽,则表示不是素数,跳出当次内循环

if (i % j == 0) {

flag = true;

break;

} else {

flag = false;

}

}

// 如果是素数,则打印并计数,然后每行打印 5 个

if (flag == false) {

count++;

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

if (count % 5 == 0) {

System.out.println();

}

}

}

}

}

结果

实例 28


题目

对 10 个数进行排序。

分析

可以用两者方法,将 10 个数放到数组之后,可以利用内置的 Arrays.sort() 方法进行排序,也可以用冒泡排序;

实现

import java.util.Arrays;

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/4 10:57

  • @project : Java 编程实例

  • @package : PACKAGE_NAME

  • @className : Example28

  • @description :

*/

public class Example28 {

public static void main(String[] args) {

int[] arr = new int[10];

Scanner scanner = new Scanner(System.in);

for (int i = 0; i < 10; i++) {

System.out.println(“输入第 " + (i + 1) + " 个数”);

arr[i] = scanner.nextInt();

}

// 1、直接调用内置方法

// Arrays.sort(arr);

// System.out.println(“内置方法排序后的数组:” + Arrays.toString(arr));

// 2、冒泡

for (int i = 0; i < 10; i++) {

for (int j = i + 1; j < 10; j++) {

if (arr[i] > arr[j]) {

int tmp = arr[i];

arr[i] = arr[j];

arr[j] = tmp;

}

}

}

System.out.println(“冒泡排序后:” + Arrays.toString(arr));

}

}

结果

实例 29


题目

求 3 * 3 矩阵对角线元素之和。

分析

定义一个二维数组来存放矩阵元素,然后将对角元素进行相加求和即可(对角线元素的一维和二维索引一样)。

实现

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/4 11:07

  • @project : Java 编程实例

  • @package : PACKAGE_NAME

  • @className : Example29

  • @description :

*/

public class Example29 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int[][] matrix = new int[3][3];

System.out.println(“输入矩阵元素(共 9 个)”);

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

matrix[i][j] = scanner.nextInt();

}

}

System.out.println(“输入的矩阵为:”);

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

System.out.print(matrix[i][j] + “\t\t”);

}

System.out.println();

}

// 对角线元素之和

int sum = 0;

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

if (i == j) {

sum += matrix[i][j];

}

}

}

System.out.println(“对角线元素之和:” + sum);

}

}

结果

实例 30


题目

有一个已经排好序的数组,现插入一个数,要求按原来的规律将其插入数组中。

分析

言尽于此,完结

无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。

  • 第一,设计模式能让专业人之间交流方便,如下:

程序员A:这里我用了XXX设计模式

程序员B:那我大致了解你程序的设计思路了

  • 第二,易维护

项目经理:今天客户有这样一个需求…

程序员:明白了,这里我使用了XXX设计模式,所以改起来很快

  • 第三,设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

  • 第四,学习设计模式并不是必须的

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

image

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

image

搜集费时费力,能看到此处的都是真爱!

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

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

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

[外链图片转存中…(img-M7Hfu58F-1714898233250)]

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

[外链图片转存中…(img-i0PffKZi-1714898233250)]

搜集费时费力,能看到此处的都是真爱!

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值