做题是提升能力的最简单方法之一,多做题才能运用并了解更多知识,下面我们就来看一些经典的java基础题目。
題目1:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
代码:
public class Example1 { public static void main(String args[]) { //i是表示月份的,这里计算了36个月,也就是三年,兔子的数量 int i; long arr[] = new long[36]; //这个数组时用来计算每月有兔子的对数 arr[0] = arr[1] = 1; System.out.println("第1个月有兔子1对" + ", " + "总数是" + 2); System.out.println("第2个月有兔子1对" + ", " + "总数是" + 2); for (i = 2; i <= 35; i++) { arr[i] = arr[i - 1] + arr[i - 2]; System.out.println("第" + i + "个月有兔子" + arr[i] + "对" + ", " + "总数是" + 2 * arr[i]); //规律是 每个数字都是前面两个数字之和 } } }
题目2:打印出所有的"水仙花数";"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
代码:
public class Example3 { public static void main(String args[]) { int a, sum; //表示100~999 int i, j, k; //分别表示百位、十位、各位 for (a = 100; a <= 999; a++) { i = a / 100; j = (a - i * 100) / 10; k = a - i * 100 - j * 10; sum = i * i * i + j * j * j + k * k * k; //java的运算符,立方要这样写,写成i^3这样,竟然运算不出来 //如果遇到高次的话可以使用循环算出来 if (sum == a) { System.out.println(sum); } }
题目3:将一个正整数分解质因数。如:输入90,打印出90=2*3*3*5。
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
代码:
import java.util.*; public class Example4 { public static void main(String[] args) { int x; Scanner in = new Scanner(System.in); //定义从键盘输入 System.out.print("请输入一个正整数:"); //提示 x = in .nextInt(); //将从键盘输入的数赋值给x new PrimeSplit(x); //匿名初始化一个对象,还有参数的构造函数 } } class PrimeSplit { int k = 2; //将最小的质数赋值给k public PrimeSplit(int x) { //小于等于1的数不可以分解 if (x <= 1) { System.out.println(x + "是无效的被分解数"); } else if (x == 2) { System.out.println(x + "分解后的质因数为: 1*" + x); //如果输入的是最小质数2, } else { System.out.print(x + "分解后的质因数为: 1"); //1是所有的正整数的质数 while (k <= x) { //输入的数可以被k整除 if (x % k == 0) { System.out.print("*" + k); //将k添加到结果中 x = x / k; //除以最小质数后重新循环 } else { k++; } } } } }
以上就是本篇文章的所有内容,如上这些只是非常基础的java题目,如果需要了解更多其他进阶题目的话,就快来本网站的java面试宝典中寻找答案吧。
推荐阅读: