50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class Prog1{ public static void main(String[] args){ int n = 10; System.out.println("第"+n+"个月兔子总数为&qu…
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class Prog1{ public static void main(String[] args){ int n = 10; System.out.println("第"+n+"个月兔子总数为&qu…
50道JAVA基础编程练习题[1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? [2]题目:判断101-200之间有多少个素数,并输出所有素数. [3]题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. [4]题目:将一个…
24 [程序 24 根据输入求输出] 题目:给一个不多于 5 位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. package cskaoyan; public class cskaoyan24 { private int number; @org.junit.Test public void positiveInteger() { java.util.Scanner in = new java.util.Scanner(System.in); number = in.nextInt…
1 [程序 1 不死神兔] 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21.... package CountRabbit; import java.io.*; import java.util.Scanner; public class CountRabbit { /** * 不死神兔算法,使用递归 */ public sta…
46 [程序 46 字符串连接] 题目:两个字符串连接程序 package cskaoyan; public class cskaoyan46 { public static void main(String[] args) { // TODO Auto-generated method stub java.util.Scanner in = new java.util.Scanner(System.in); System.out.println("输入第一个字符串:"); Strin…
13 [程序 13 根据条件求数字] 题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少? 程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方,如果开方后的结 果满足如下条件,即是结果. package cskaoyan; public class cskaoyan13 { @org.junit.Test public void number() { int min = 1; int max = 10…
50 [程序 50 文件 IO] 题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩), 计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中. package cskaoyan; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; class Student…
49 [程序 49 子串出现的个数] 题目:计算字符串中子串出现的次数 package cskaoyan; public class cskaoyan49 { public static void main(String[] args) { // TODO Auto-generated method stub java.util.Scanner in = new java.util.Scanner(System.in); System.out.println("请输入两个字符串,以回车隔开,母串…
48 [程序 48 加密] 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密 规则如下:每位数字都加上 5,然后用和除以 10 的余数代替该数字,再将第一位和第四位交 换,第二位和第三位交换. package cskaoyan; public class cskaoyan48 { public static void main(String[] args) { // TODO Auto-generated method stub java.util.Scanner…
47 [程序 47 打印星号] 题目:读取 7 个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*. package cskaoyan; public class cskaoyan47 { public static void main(String[] args) { // TODO Auto-generated method stub java.util.Scanner in = new java.util.Scanner(System.in); int number = 0;…
45 [程序 45 被 9 整除] 题目:判断一个素数能被几个 9 整除 package cskaoyan; public class cskaoyan45 { public static void main(String[] args) { // TODO Auto-generated method stub java.util.Scanner in = new java.util.Scanner(System.in); long prime = 0; long count = 1; long…
44 [程序 44 偶数的素数和] 题目:一个偶数总能表示为两个素数之和. package cskaoyan; public class cskaoyan44 { @org.junit.Test public void sum() { java.util.Scanner in = new java.util.Scanner(System.in); long number = 0; do { System.out.println("请输入一个偶数:"); number = in.next…
40 [程序 40 字符串排序] 题目:字符串排序. package cskaoyan; public class cskaoyan40 { @org.junit.Test public void arraySort() { java.util.Scanner in = new java.util.Scanner(System.in); System.out.println("请输入3个字符串,每个字符串以回车结束!"); String[] str = new String[3]; f…
39 [程序 39 分数累加] 题目:编写一个函数,输入 n 为偶数时,调用函数求 1/2+1/4+...+1/n,当输入 n 为奇数时,调用函数 1/1+1/3+...+1/n package cskaoyan; public class cskaoyan39 { @org.junit.Test public void sum() { java.util.Scanner in = new java.util.Scanner(System.in); System.out.println("请输入…
38 [程序 38 求字符串长度] 题目:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度. package cskaoyan; public class cskaoyan38 { public static void main(String[] args) { // TODO Auto-generated method stub java.util.Scanner in = new java.util.Scanner(System.in); System.out.p…
37 [程序 37 报数] 题目:有 n 个人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子, 问最后留下的是原来第几号的那位. package cskaoyan; public class cskaoyan37 { @org.junit.Test public void countOff() { java.util.Scanner in = new java.util.Scanner(System.in); int[] num = new int[50…
36 [程序 36 移动位置] 题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数 package cskaoyan; public class cskaoyan36 { @org.junit.Test public void shift() { java.util.Scanner in = new java.util.Scanner(System.in); int n = 0; int offset = 0; // 输入数组大小和数组内容 Syste…
35 [程序 35 最大最小交换] 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组. package cskaoyan; public class cskaoyan35 { @org.junit.Test public void swap() { int[] arr = new int[6]; inp(arr); outp(arr); arr_max(arr); arr_min(arr); System.out.println("计算结果:"); outp(…
34 [程序 34 三个数排序] 题目:输入 3 个数 a,b,c,按大小顺序输出. 程序分析:利用指针方法. package cskaoyan; public class cskaoyan34 { @org.junit.Test public void swap() { java.util.Scanner in = new java.util.Scanner(System.in); System.out.println("n1 = :"); int n1 = in.nextInt()…
32 [程序 32 左移右移] 题目:取一个整数 a 从右端开始的 4-7 位. 程序分析:可以这样考虑: (1)先使 a 右移 4 位. (2)设置一个低 4 位全为 1,其余全为 0 的数.可用~(~0<<4) (3)将上面二者进行&运算. package cskaoyan; public class cskaoyan32 { @org.junit.Test public void logicalShift() { java.util.Scanner in = new java.u…
30 [程序 30 插入数字] 题目:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数, 依次后移一个位置. package cskaoyan; public class cskaoyan30 { @org.junit.Test public void insertNumber() { java.util.Scanner in = new java.util.Scanner(Sys…
29 [程序 29 求矩阵对角线之和] 题目:求一个 3*3 矩阵对角线元素之和 程序分析:利用双重 for 循环控制输入二维数组,再将 a[i][i]累加后输出. package cskaoyan; public class cskaoyan29 { @org.junit.Test public void diagonal() { java.util.Scanner in = new java.util.Scanner(System.in); int[][] arr = new int[3][…
28 [程序 28 排序算法] 题目:对 10 个数进行排序 程序分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即 用第二个元素与后 8 个进行比较,并进行交换. package cskaoyan; public class cskaoyan28 { @org.junit.Test public void sort() { java.util.Scanner in = new java.util.Scanner(System.in); int[] a…
26 [程序 26 求星期] 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或 if 语句判断第二个字母. package cskaoyan; public class cskaoyan26 { @org.junit.Test public void days() { java.util.Scanner in = new java.util.Scanner(System.in); S…
25 [程序 25 求回文数] 题目:一个 5 位数,判断它是不是回文数.即 12321 是回文数,个位与万位相同,十位与千位相同. package cskaoyan; public class cskaoyan25 { @org.junit.Test public void palindromic() { java.util.Scanner in = new java.util.Scanner(System.in); long number = in.nextLong(); String st…
15 [程序 15 排序] 题目:输入三个整数 x,y,z,请把这三个数由小到大输出. 程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x>y 则将 x 与 y 的值进行交换, 然后再用 x 与 z 进行比较,如果 x>z 则将 x 与 z 的值进行交换,这样能使 x 最小. package cskaoyan; public class cskaoyan15 { private static int x; private static int y; private…
14 [程序 14 求日期] 题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况, 闰年且输入月份大于 3 时需考虑多加一天. package cskaoyan; public class cskaoyan14 { private static int year = 0; private static int month = 0; private static int day = 0; pr…
12 [程序 12 计算奖金] 题目:企业发放的奖金根据利润提成.利润(I)低于或等于 10 万元时,奖金可提 10%:利润高于 10 万元, 低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可可提成 7.5%:20 万到 40 万之间 时,高于 20 万元的部分,可提成 5%:40 万到 60 万之间时高于 40 万元的部分,可提成 3%:60 万到 100 万 之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按…
9 [程序 9 求完数] 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如 6=1+2+3.编程找出 1000 以内的 所有完数. package cskaoyan; public class cskaoyan9 { @org.junit.Test public void perfectNumber() { int sum = 0; int number = 1000; for (int i = 2; i <= number; i++) { for (int j…