网站首页 > 精选教程 正文
//【例1】九九乘法表
public class MultiplicationTable {
public static void main(String[] args) {
// 外层循环控制行数
for (int i = 1; i <= 9; i++) {
// 内层循环控制每行中的乘法表达式
for (int j = 1; j <= i; j++) {
// 打印乘法结果,两个数字之间用乘号连接
System.out.print(j + "x" + i + "=" + (j * i) + "\t");
}
// 每打印完一行后换行
System.out.println();
}
}
}
例2】公元前5世纪末,我国古代数学家张丘建在《算经》中提出了“百鸡问题”。
大意为:公鸡5元1只,母鸡3元1只,小鸡1元3只,100元钱要买100只鸡,问公鸡、母鸡和小鸡各买多少只?
程序分析:公鸡: x 20只母鸡: y 33只 小鸡: z= 100-x-y
public class HundredChickens {
public static void main(String[] args) {
// 外层循环代表公鸡的数量
for (int rooster = 0; rooster <= 100 / 5; rooster++) {
// 中层循环代表母鸡的数量
for (int hen = 0; hen <= 100 / 3; hen++) {
// 内层循环代表小鸡的数量
for (int chick = 0; chick <= 100 / 1; chick++) {
// 检查当前组合是否满足条件:总价格为100钱,总数量为100只
if (rooster * 5 + hen * 3 + chick * 1 == 100 &&
rooster + hen + chick == 100) {
// 如果满足条件,打印出当前的公鸡、母鸡和小鸡的数量
System.out.println("公鸡:" + rooster + "只, 母鸡:" + hen + "只, 小鸡:" + chick + "只");
}
}
}
}
}
}
【例3】求100~1000中所有的水仙花数
public class NarcissisticNumbers {
public static void main(String[] args) {
System.out.println("100~1000之间的水仙花数有:");
for (int i = 100; i <= 1000; i++) {
int hundreds = i / 100; // 获取百位数
int tens = (i % 100) / 10; // 获取十位数
int ones = i % 10; // 获取个位数
// 计算每一位数字的立方和
int sum = hundreds * hundreds * hundreds +
tens * tens * tens +
ones * ones * ones;
// 如果立方和等于原始数值,说明找到了一个水仙花数
if (sum == i) {
System.out.println(i);
}
}
}
}
【例4】用java语言实现冒泡排序
public class BubbleSort {
public static void main(String[] args) {
int[] numbers = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(numbers);
System.out.println("Sorted array: ");
printArray(numbers);
}
// 冒泡排序算法实现
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
// 如果当前元素大于下一个元素,则交换它们
if (arr[j] > arr[j + 1]) {
// 交换 arr[j] 和 arr[j + 1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 打印数组
public static void printArray(int[] arr) {
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
}
}
【例5】用Java语言实现 斐波那契数列
程序分析:斐波那契数列是一个每一项都是前两项和的数列,如1,1,2,3,5,8,13...
通常定义为:F(0) = 0, F(1) = 1, 且对于 n > 1, 有 F(n) = F(n-1) + F(n-2)。
使用Java语言实现斐波那契数列的两种方法:递归方法和迭代方法。
//方法一:递归方法实现 斐波那契数列, 所谓递归方法,就是方法体中 依然调用方法本身
/*递归方法非常直接地实现了斐波那契数列的定义,但是它的时间复杂度较高,不适合计算大
的斐波那契数。*/
public class FibonacciRecursive {
public static void main(String[] args) {
int n = 10; // 计算前10项斐波那契数
for (int i = 0; i < n; i++) {
System.out.print(fibonacci(i) + " ");
}
}
public static int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
// 方法二:
// 迭代方法使用循环来计算斐波那契数列,它的时间复杂度较低,效率更高。
public class FibonacciIterative {
public static void main(String[] args) {
int n = 10; // 计算前10项斐波那契数
int[] fibonacci = new int[n];
fibonacci[0] = 0; // 第一项是0
if (n > 1) {
fibonacci[1] = 1; // 第二项是1
}
for (int i = 2; i < n; i++) {
fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
}
for (int i = 0; i < n; i++) {
System.out.print(fibonacci[i] + " ");
}
}
}
以上就是Java 基础算法的几道很经典的编程题,希望可以帮到你。后续还会继续分享Java算法, C语言相关编程题,请各位关注,后期还会分享spring,springMvc ,springBoot相关的web开发技巧,请各位朋友持续关注
猜你喜欢
- 2024-12-04 什么是算法《算法和数据结构》
- 2024-12-04 【Java基础】Java的循环结构:for循环、while循环、do-while循环
- 2024-12-04 Java经典实例分析和相关知识总结与思考
- 2024-12-04 最新JAVA编程题全集50题含答案(上)
- 2024-12-04 5道Java基础编程练习题
- 2024-12-04 彻夜怒肝!熬夜整理13个Java基础实例,程序员的辛苦钱建议不要赚
- 2024-12-04 Java基础--While入门小练习
- 2024-12-04 传说级大佬总结的几道Java循环练习题(适合新人)
- 2024-12-04 C++_switch语句_while猜数字_do while循环_dowhile水仙花数
- 2024-12-04 java得出1000以内的水仙花数
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)