JAVA入门练习50题(含答案)

【程序1】 题目古典问题有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void mainString[] args { System.out.println“第1个月的兔子对数 1“; System.out.println“第2个月的兔子对数 1“; int f1 1, f2 1, f, M24; forint i3; i 90 A x 60 B C; System.out.println“等级为“grade; } } 【程序6】 题目输入两个正整数m和n,求其最大公约数和最小公倍数。

/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* / import java.util.*; public class lianxi06 { public static void mainString[] args { int a ,b,m; Scanner s new ScannerSystem.in; System.out.print “键入一个整数 “; a s.nextInt; System.out.print “再键入一个整数 “; b s.nextInt; deff cd new deff; m cd.deffa,b; int n a * b / m; System.out.println“最大公约数 “ m; System.out.println“最小公倍数 “ n; } } class deff{ public int deffint x, int y { int t; ifx y { t x; x y; y t; } whiley 0 { ifx y return x; else { int k x y; x y; y k; } } return x; } } 【程序7】 题目输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

import java.util.*; public class lianxi07 { public static void mainString[] args { int digital 0; int character 0; int other 0; int blank 0; char[] ch null; Scanner sc new ScannerSystem.in; String s sc.nextLine; ch s.toCharArray; forint i0; i 0 } else ifch { blank ; } else { other ; } } System.out.println“数字个数 “ digital; System.out.println“英文字母个数 “ character; System.out.println“空格个数 “ blank; System.out.println“其他字符个数“ other ; } } 【程序8】 题目求saaaaaaaaaaaa...a的值,其中a是一个数字。例如222222222222222此时共有5个数相加,几个数相加有键盘控制。

import java.util.*; public class lianxi08 { public static void mainString[] args { long a , b 0, sum 0; Scanner s new ScannerSystem.in; System.out.print“输入数字a的值 “; a s.nextInt; System.out.print“输入相加的项数“; int n s.nextInt; int i 0; whilei n { b b a; sum sum b; a a * 10; i; } System.out.printlnsum; } } 【程序9】 题目一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。例如61+2+3.编程 找出1000以内的所有完数。

public class lianxi09 { public static void mainString[] args { System.out.println“1到1000的完数有 “; forint i1; i1000;