Java经典编程题(附答案)

合集下载

JAVA编程习题及答案_完全版

JAVA编程习题及答案_完全版

1.test10001显示短句//程序填空.//在屏幕上显示一个短句“Programming in Java is fun!”import java.io.*;public class Test10001{public static void main(String args[]){/*------------------------*/System.out.println("Programming in Java is fun!");}}2.test10002显示网格/*程序填空。

在屏幕上显示如下网格。

+---+---+| | || | |+---+---+*/import java.io.*;public class Test10002{public static void main(String args[]){/*------------------------*/System.out.println("+---+---+");System.out.println("| | |");System.out.println("| | |");System.out.println("+---+---+");}}3.test10095显示hello world!import java.io.*;public class Test10095{public static void main(String args[]){/*---------------------------*/System.out.println("Hello world!");}}4.test10097求两个数的和/*输入n表示做n次下面的操作:输入两个正整数,输出它们的和.例:输入:2 //表示n=2,做两次操作10 1120 30输出:sum=21sum=50*/import java.util.Scanner;public class Test10097{public static void main(String args[]){int n,a,b,i,sum;Scanner in=new Scanner(System.in);n=in.nextInt(); //输入nfor(i=1; i<=n; i++){/*------------*/a=in.nextInt();b=in.nextInt();sum=a+b;System.out.println("sum="+sum);}}}5.test20001求两个数的和与差/*程序填空,不要改变与输入输出有关的语句。

最新JAVA编程题全集_50题及答案

最新JAVA编程题全集_50题及答案

最新JAVA编程题全集_50题及答案写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab cba import java.util.ArrayList; import java.util.List;public class NumT est {public static void main(String[] args) {String s="ABCD"; //原字符串List res ult = list(s, "");//列出字符的组合,放入resultSystem.out.printl n(result.size());;System.out.printl n(result);}/*** 列出基础字符串(base)的所有组合* @param base 以该字符串作为基础字符串,进行选择性组合。

* @param buff 所求字符串的临时结果* @param result 存放所求结果*/public static List list(String base,String buf f){List res ult = new ArrayList();/ /存放结果信息。

if(base.length()< =0){result.ad d(buff);}for(int i=0;i<="">List temp = list(new StringBuilder(base).deleteCharAt(i).toString (),buff+base.charAt(i));result.ad dAll(temp);}return result;}}+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ public static void main(String [] args) {String s="ABCD";//原字符串List result = new ArrayList();//存放结果信息。

java考试编程题库及答案

java考试编程题库及答案

java考试编程题库及答案Java考试编程题库及答案1. 基础语法题- 题目:编写一个Java程序,实现两个整数的加法运算,并打印结果。

- 答案:```javapublic class Addition {public static void main(String[] args) {int num1 = 5;int num2 = 10;int sum = num1 + num2;System.out.println("The sum is: " + sum);}}```2. 控制结构题- 题目:编写一个Java程序,判断一个整数是否为素数,并打印结果。

- 答案:```javapublic class PrimeCheck {public static void main(String[] args) {int number = 29;if (isPrime(number)) {System.out.println(number + " is a primenumber.");} else {System.out.println(number + " is not a prime number.");}}public static boolean isPrime(int n) {if (n <= 1) return false;for (int i = 2; i <= Math.sqrt(n); i++) {if (n % i == 0) return false;}return true;}}```3. 数组与循环题- 题目:编写一个Java程序,打印数组中所有元素的平方。

- 答案:```javapublic class SquareElements {public static void main(String[] args) {int[] numbers = {1, 2, 3, 4, 5};for (int i = 0; i < numbers.length; i++) {int square = numbers[i] * numbers[i];System.out.println("Square of " + numbers[i] + " is " + square);}}}4. 面向对象题- 题目:定义一个名为`Car`的类,包含属性`color`和`speed`,以及一个方法`increaseSpeed(int increment)`来增加速度。

java试题库及答案

java试题库及答案

java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。

答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。

垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。

10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。

最新JAVA编程题全集_50题及答案

最新JAVA编程题全集_50题及答案

写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab cbaimport java.util.ArrayList;import java.util.List;public class NumTest {public static void main(String[] args) {String s="ABCD";//原字符串List<String> result = list(s, "");//列出字符的组合,放入resultSystem.out.println(result.size());;System.out.println(result);}/*** 列出基础字符串(base)的所有组合* @param base 以该字符串作为基础字符串,进行选择性组合。

* @param buff 所求字符串的临时结果* @param result 存放所求结果*/public static List<String> list(String base,String buff){List<String> result = new ArrayList<String>();//存放结果信息。

if(base.length()<=0){result.add(buff);}for(int i=0;i<base.length();i++){List<String> temp = list(new StringBuilder(base).deleteCharAt(i).toString(),buf f+base.charAt(i));result.addAll(temp);}return result;}}+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++public static void main(String[] args) {String s="ABCD";//原字符串List<String> result = new ArrayList<String>();//存放结果信息。

Java试题(附答案)

Java试题(附答案)

一、单选题(每道小题只有一个正确的选项)1、Java程序中要用变量来存储学生性别信息,从节约内存空间的角度最好选择哪种数据类型( D )A)int B)short C)byte D)boolean2、Java语言中基本的数据类型不包括( C ):A)整型B)浮点型C)数组D)逻辑型3、Java程序中用来定义常量必须用到的关键字是( A )A)final B)class C)void D)static4、下列属于Java语言中字符常量的是( B )A)”m”B)‘!’C)a D)$5、一个简单的Java程序可能没有用到的关键字是(C )A)void B)public C)int D)static6、下列关于Java程序中数组的使用说法正确的是(A )A)数组必须在使用前定义B)同一个数组中的元素类型必须不同C)数组是一种特殊的变量不需在使用前声明D)数组的元素不可以是数组7、程序设计语言的发展主要经历了三个阶段,其中不包括(A )A)数学语言B)机器语言C)汇编语言D)高级语言8、关于程序设计语言下列说法错误的是( C )A)Java、C++、VB等都是当前广泛使用的高级程序设计语言。

B)一项任务可以使用多种语言来实现,使用前需要综合考虑选择合适的语言。

C)因特网的应用开发必须使用Java语言来实现。

D)Java是一种完全面向对象的高级语言,在因特网的应用开发中广泛应用。

9、经过编译后的Java程序的扩展名是( B )A).java B).class C).exe D).bat10、关于Java源程序的说法错误的是( C )A)文件名必须和主类名一致B)使用“javac”对java程序进行编译C)java程序的编译运行须借助辅助软件D)java源程序的扩展名为.java11、若已定义x和y是double型变量,则表达式x=1,y=x+3/2执行后y的值为( D )A)1 B)2 C)3 D)2.512、Java语言中整型常量有三种形式即八进制整数、十进制整数和十六进制整数。

java编程练习题及答案

java编程练习题及答案

java编程练习题及答案【篇一:java基础编程练习题(50题及答案)2017】class=txt>【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题public class lianxi01 {public static void main(string[] args) {system.out.println(第1个月的兔子对数: 1);system.out.println(第2个月的兔子对数: 1);int f1 = 1, f2 = 1, f, m=24;for(int i=3; i=m; i++) {f = f2;f2 = f1 + f2;f1 = f;system.out.println(第 + i +个月的兔子对数: +f2);}}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

public class lianxi02 {public static void main(string[] args) {int count = 0;for(int i=101; i200; i+=2) {boolean b = false;for(int j=2; j=math.sqrt(i); j++){if(i % j == 0) { b = false; break; }else{ b = true; }}if(b == true) {count ++;system.out.println(i );}}system.out.println( 素数个数是: + count);}}【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

Java基础编程题(含答案)

Java基础编程题(含答案)

51道JAVA基础编程练习题1.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?2.判断101-200之间有多少个素数,并输出所有素数。

3.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

4.将一个正整数分解质因数。

例如:输入90,打印出90=2*3*3*5。

5.利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

6.输入两个正整数m和n,求其最大公约数和最小公倍数。

7.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

8.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

9.一个数如果恰好等于它的因子之和,这个数就称为"完数"。

例如6=1+2+3.编程找出1000以内的所有完数。

10.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?11.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?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万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?13.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?14.输入某年某月某日,判断这一天是这一年的第几天?(变形:输入某一天,输出一千天后是那一天)15.输入三个整数x,y,z,请把这三个数由小到大输出。

JAVA20经典编程题全集及答案

JAVA20经典编程题全集及答案

JAVA20经典编程题全集及答案【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题public class lianxi01 {public static void main(String[] args) {System.out.println(\第1个月的兔子对数: 1\System.out.println(\第2个月的兔子对数: 1\int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2;f2 = f1 + f2; f1 = f;System.out.println(\第\个月的兔子对数: \ } } }【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

public class lianxi02 {public static void main(String[] args) { int count = 0;for(int i=101; i<200; i+=2) { boolean b = false;for(int j=2; j<=Math.sqrt(i); j++) {if(i % j == 0) { b = false; break; } else { b =true; } }if(b == true) {count++;System.out.println(i );} }System.out.println( \素数个数是: \} }【程序3】题目:打印出所有的 \水仙花数 \,所谓 \水仙花数 \是指一个三位数,其各位数字立方和等于该数本身。

(完整版)java练习题(含答案)

(完整版)java练习题(含答案)

1.编写程序,用数组实现乘法小九九的存储和输出。

【提示:采用多个一维数组。

】public class Multipation {public static void main(String[] args) {// TODO Auto-generated method stubint x[][]=new int[9][9];for(int i=0;i<9;i++){for(int j=0;j<9;j++){if(i>=j){int m=i+1;int n=j+1;x[i][j]=m*n;System.out.print(m+"*"+n+"="+x[i][j]);}}System.out.println();}}}2. 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。

SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。

public class Student {/***@param args*/private int ID;private String name;private float score;public void SetRecord(int ID,String name,float score){this.ID=ID;=name;this.score=score;}public float getRecord(int ID){if(ID==this.ID)return this.score;elsereturn -1;}public static void main(String[] args) {// TODO Auto-generated method stubStudent s=new Student();s.SetRecord(0,"alex",100);float Sco=s.getRecord(0);System.out.print(Sco);}}3.给出上题中设计类的构造函数,要求初始化一条记录(学号、姓名、成绩)。

JAVA习题-附完整答案

JAVA习题-附完整答案

本文由oscill贡献doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

JAVA 程序设计习题一、选择题)。

(D).txt1.使用 Java 语言编写的源程序保存时的文件扩展名是( B (A).class (B).java )。

(C)8(C).cpp2.设 int a=-2,则表达式 a>>>3 的值为((A)0 (B)3(D)-1 )。

3.设有数组的定义 int[] a = new int[3],则下面对数组元素的引用错误的是( C (A)a[0]; (C)a[3]; (B)a[a.length-1]; D)int i=1; a[i]; )。

4.在类的定义中可以有两个同名函数,这种现象称为函数( D (A)封装(C)覆盖(B)继承(D)重载)。

5.在类的定义中构造函数的作用是(D (A)保护成员变量(C)描述类的特征(B)读取类的成员变量(D)初始化成员变量)。

6.下面关键字中,哪一个不是用于异常处理语句( B (A)try (C)catch 7.类与对象的关系是( A (A)类是对象的抽象 C)对象是类的子类(B)break (D)finally )。

(B)对象是类的抽象 D)类是对象的具体实例 D )。

8.下面哪一个是 Java 中不合法的标识符((A)$persons (C)_myVar (B)twoNum (D)*point9. AB 类的一个无形式参数无返回值的方法 method 书写方法头,为使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为( (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 List 接口,下列哪个方法是正确的( C )。

java考试题及答案

java考试题及答案

java考试题及答案一、选择题(每题2分,共20分)1. Java语言的标识符可以包含以下哪些字符?A. 数字B. 下划线C. 美元符号D. 空格答案:B2. 下列哪个选项是Java中的关键字?A. classB. mainC. publicD. all of the above答案:D3. Java中,哪个修饰符表示成员变量或方法是私有的?A. publicB. privateC. protectedD. static答案:B4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,下列哪个数据类型是基本数据类型?A. StringB. intC. ArrayListD. HashMap答案:B6. 下列哪个选项不是Java集合框架的一部分?A. ListB. MapC. SetD. String答案:D7. Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. final答案:B8. 在Java中,下列哪个选项不是线程安全的?A. VectorB. ArrayListC. LinkedListD. HashMap答案:B9. Java中,下列哪个选项是正确的继承关系?A. Object is a subclass of StringB. String is a subclass of ObjectC. Object is a superclass of StringD. String is a superclass of Object答案:B10. 下列哪个选项不是Java中的访问修饰符?A. publicB. privateC. protectedD. global答案:D二、填空题(每题2分,共20分)1. Java中,用于定义类的关键字是______。

答案:class2. Java中,用于定义接口的关键字是______。

Java基础编程练习题(含答案)

Java基础编程练习题(含答案)

JAVA基础编程练习题【程序1】/*机选双色球:{"01", "02", "03", "04","05","06","07","08","09","10",~33} {false,true,false,false....}*/import java.util.*;class Demo07{public static void main(String[] args){String[] redBalls = getBalls();System.out.println(Arrays.toString(redBalls));}/*定义方法返回值类型:String[]参数:无*/public static String[] getBalls(){String[] pool = {"01", "02", "03", "04","05","06","07","08","09","10","11", "12", "13", "14","15","16","17","18","19","20","21", "22", "23", "24","25","26","27","28","29","30","31", "32", "33"};boolean[] flags = new boolean[33]; String[] balls = new String[7]; Random r = new Random();int i = 0;for(;;){int index = r.nextInt(pool.length);if(!flags[index]){//flags == falseballs[i] = pool[index];i++;flags[index] = true;}if(i==6){break;}}int blueIndex = r.nextInt(16);balls[6] = pool[blueIndex]; System.out.println(balls[6]);//对数组的排序Arrays.sort(balls,0,5);return balls;}}【程序2】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?【程序3】题目:判断101-200之间有多少个素数,并输出所有素数。

java考试题及答案

java考试题及答案

java考试题及答案Java考试题及答案一、选择题(每题2分,共20分)1. Java语言属于以下哪类编程语言?A. 过程式编程语言B. 面向对象编程语言C. 函数式编程语言D. 逻辑编程语言答案:B2. Java程序的执行入口是以下哪个方法?A. main()B. init()C. start()D. run()答案:A3. 下列哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A4. Java中,哪个关键字用于定义一个方法?A. methodB. functionC. procedureD. void答案:D5. 在Java中,哪个关键字用于实现继承?A. extendsB. inheritC. derivedD. subclass答案:A6. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D7. Java中,哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C8. Java中,哪个类是所有Java类的父类?A. ObjectB. ClassC. SystemD. Thread答案:A9. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. package答案:B10. 下列哪个是Java集合框架中的接口?A. ListB. SetC. MapD. All of the above答案:D二、简答题(每题10分,共30分)1. 简述Java的垃圾回收机制。

答案:Java的垃圾回收机制是一种自动内存管理功能,它通过垃圾回收器定期检查不再被引用的对象,并释放它们占用的内存。

垃圾回收器运行在后台,开发者不需要手动释放对象内存。

2. 描述Java中多态的概念及其实现方式。

java考试试题及答案

java考试试题及答案

java考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个是Java的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. Java中的main方法是程序的入口点,它属于哪个类?A. ng.ObjectB. ng.SystemC. ng.RuntimeD. java.applet.Applet答案:A3. 下列哪个关键字用于定义类?A. classB. publicC. staticD. void答案:A4. Java中的哪个关键字用于实现接口?A. implementsB. extendsC. classD. interface答案:A5. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. LinkedListD. HashMap答案:B6. 下列哪个不是Java的控制流语句?A. ifB. forC. switchD. while答案:C7. Java中的哪个类提供了日期和时间的处理功能?A. java.util.DateB. java.util.CalendarC. java.time.LocalDateD. java.time.LocalDateTime答案:B8. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案:D10. 下列哪个不是Java的注释方式?A. // 单行注释B. /* 多行注释 */C. / 文档注释 */D. # 预处理指令答案:D二、填空题(每空2分,共20分)1. Java语言是________面向对象的编程语言。

答案:完全2. Java程序的执行流程是:编写源代码,编译成字节码,通过________加载并执行。

JAVA编程题全集(经典数学题及答案)

JAVA编程题全集(经典数学题及答案)

Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。

(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String[] args) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。

// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。

");elseSystem.out.println(year+" 年不是闰年。

");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。

(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。

JAVA经典算法题目(含答案)

JAVA经典算法题目(含答案)

JAVA经典算法题目(含答案)【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....publicclae某p2{publictaticvoidmain(Stringarg[]){inti=0;for(i=1;i<=20;i++)Sytem.out.println(f(i));}publictaticintf(int某){if(某==1||某==2)return1;elereturnf(某-1)+f(某-2);}}或publicclae某p2{publictaticvoidmain(Stringarg[]){inti=0;mathmymath=newmath();for(i=1;i<=20;i++)Sytem.out.println(mymath.f(i));}}clamath{publicintf(int某){if(某==1||某==2)return1;elereturnf(某-1)+f(某-2);}}【程序2】题目:打印出所有的\水仙花数\,所谓\水仙花数\是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个\水仙花数\,因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

publicclae某p2{publictaticvoidmain(Stringarg[]){inti=0;mathmymath=newmath();for(i=100;i<=999;i++)if(mymath.hui某ianhua(i)==true)Sytem.out.println(i);}}clamath{publicintf(int某){if(某==1||某==2)return1;elereturnf(某-1)+f(某-2);}publicbooleanizhihu(int某){for(inti=2;i<=某/2;i++)if(某%2==0)returnfale;returntrue;}publicbooleanhui某ianhua(int某){inti=0,j=0,k=0;i=某/100;j=(某%100)/10;k=某%10;if(某==i某i某i+j某j某j+k某k某k)returntrue;elereturnfale;}}【程序3】题目:判断101-200之间有多少个素数,并输出所有素数。

JAVA编程题全集100题及答案

JAVA编程题全集100题及答案

Java程序设计总复习题1、编写一个Java程序,用if-else语句判断某年份是否为闰年。

(分支)// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。

");elseSystem.out.println(year+" 年不是闰年。

");}}//if-else语句2、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。

(循环)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}3、依次输入10个学生成绩,判断学生(优秀、良好、中等、及格、不及格)并计算人数(switch)4、使用冒泡排序(数组)public class BubbleSort {public static void main(String[] args) {int[] array={63,4,24,1,3,5};BubbleSort sorter=new BubbleSort();sorter.sort(array);}//冒泡排序public void sort(int[] array){for(int i=1;i<array.length;i++)for(int j=0;j<array.length-1;j++){if(array[j]>array[j+1]){int temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}showArray(array);}//遍历数组,并输出数组的元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

【程序4】题目:将一个正整数分解质因数。

例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。

【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'\n'.【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。

例如6=1+2+3.编程找出1000以内的所有完数。

【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

【程序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万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

【程序13】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

请看具体分析:【程序14】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

【程序15】题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y 则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

【程序16】题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

【程序17】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

1.程序分析:采取逆向思维的方法,从后往前推断。

【程序18】题目:两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单。

有人向队员打听比赛的名单。

a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

【程序19】题目:打印出如下图案(菱形)****************************1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

【程序20】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

1.程序分析:请抓住分子与分母的变化规律。

【程序21】题目:求1+2!+3!+...+20!的和1.程序分析:此程序只是把累加变成了累乘。

【程序22】题目:利用递归方法求5!。

1.程序分析:递归公式:fn=fn_1*4!【程序23】题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。

问第4个人岁数,他说比第3个人大2岁。

问第三个人,又说比第2人大两岁。

问第2个人,说比第一个人大两岁。

最后问第一个人,他说是10岁。

请问第五个人多大?1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。

要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

【程序24】题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

【程序25】题目:一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

【程序26】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

【程序27】题目:求100之内的素数【程序28】题目:对10个数进行排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。

【程序29】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

【程序30】题目:有一个已经排好序的数组。

现输入一个数,要求按原来的规律将它插入数组中。

1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

【程序31】题目:将一个数组逆序输出。

1.程序分析:用第一个与最后一个交换。

【程序32】题目:取一个整数a从右端开始的4~7位。

程序分析:可以这样考虑:(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。

可用~(~0<<4)(3)将上面二者进行&运算。

【程序33】题目:打印出杨辉三角形(要求打印出10行如下图)1.程序分析:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1【程序34】题目:输入3个数a,b,c,按大小顺序输出。

1.程序分析:利用指针方法。

【程序35】题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

【程序36】题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数【程序37】题目:有n个人围成一圈,顺序排号。

从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

【程序38】题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

【程序39】题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)【程序40】题目:字符串排序。

【程序41】题目:海滩上有一堆桃子,五只猴子来分。

第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。

第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?【程序42】题目:809*??=800*??+9*??+1其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。

求??代表的两位数,及809*??后的结果。

【程序43】题目:求0—7所能组成的奇数个数。

【程序44】题目:一个偶数总能表示为两个素数之和。

【程序45】题目:判断一个素数能被几个9整除【程序46】题目:两个字符串连接程序【程序47】题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

【程序48】题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

【程序49】题目:计算字符串中子串出现的次数【程序50】题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

第一题:import javax.swing.JOptionPane;public class RabbitCount{// 假定养兔子一年,12个月份int[] month= new int[12];public RabbitCount(){int num = Integer.parseInt(JOptionPane.showInputDialog("请输入月份"));//初始化数组,第一、二个月都为1对兔子month[0] = month[1] = 1;num = count(num);if(num > 0){JOptionPane.showMessageDialog(null, "本月兔子的个数为:"+num*2);}}public static void main(String[] args) {new RabbitCount();}/*** 该方法用来计算每个月兔子的数量*/private int count (int num){if (num <=0){JOptionPane.showMessageDialog(null, "兔子个数不能小于零!");}else if(num == 1|| num==2){num = 1;}{for(int i=2;i<=num;i++){//这里是规律month[i] = month[i-1]+month[i-2];}num = month[num-1];}return num;}}第二题:(以下方法判断是否为质数)方法一:import java.util.Scanner;public class PrimeNumber {/*用(int) Math.sqrt(n)求出循环上限* isPrime()方法用来检测当前数是否为质数*/public static boolean isPrime(int num) { boolean prime = true;int limit = (int) Math.sqrt(num);for (int i = 2; i <= limit; i++) {if (num % i == 0) {prime = false;break;}}return prime;}public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入您要判断的数:"); int n = input.nextInt();if (isPrime(n)) {System.out.println(n + "是质数!"); } else {System.out.println(n+ "不是质数!"); }}方法二:import java.util.*;public class PrimeNumber1{//每循环一次刷新一次循环上限,如:num=n/2; (将n/2的值赋值给num作为循环上限)public static void main(String[]args){Scanner input=new Scanner(System.in);long Number,i,sum;String answer;boolean con=false;do{System.out.println("请输入一个大于2的整数:");Number=input.nextLong();sum=Number;/*判断质数*/for(i=2;i<=sum;i++){if(Number%i==0){con=true;System.out.println("约数为:"+i);break;}else{sum=Number/i;}}if(con){System.out.println(Number+"不是质数");}else{System.out.println(Number+"是质数");}System.out.println("\n是否继续(y/n)");answer=input.next();con=false;}while(answer.equals("y"));System.out.println("程序结束!~");}}第三题:(20XX年10月18日更新)import java.util.*;public class DaffodilNumber{public static void main(String args[]){new DaffodilNumber().print();}/***打印输出结果*/public void print(){int[] numbers = new int[900];int temp = 100;for (int i=0; i<900; i++ ){numbers[i] += temp++;}for (int i=0; i<900; i++ ){String str1 = changeNumber(numbers[i]);int[] list= splitNumber(str1);int count = list[0] * list[0] * list[0]+ list[1] * list[1] * list[1]+ list[2] * list[2] * list[2] ;if(count == numbers[i]){System.out.println(count);}}}/***拆分三位数并保存到一个整型数组里*/public int[] splitNumber(String s){String str = s;int[] list = new int[3];list[0] = Integer.parseInt(str.substring(0,1));list[1] = Integer.parseInt(str.substring(1,2));list[2] = Integer.parseInt(str.substring(2,3));return list;}/***将三位数转化成字符串*/public String changeNumber(int n){int number = n;String changedNumber = "";changedNumber += number;return changedNumber;}}第四题 (20XX年10月19日更新)import java.io.*;public class BreakIntNum{public static void main(String args[]){BufferedReader in = new BufferedReader(newInputStreamReader(System.in));System.out.println("请输入一个不小于2的正整数:");try{int n = Integer.parseInt(in.readLine());System.out.println("****************");if(n<2){System.out.println("输入无效,请输入一个不小于2的正整数!");System.exit(0);}int k = 2;System.out.print(n+"=");while(k<=n){if(k==n){System.out.print(k);break;}else{if(n%k==0){System.out.print(k+"*");n = n/k;}else{k += 1;}}}System.out.println("\n****************");}catch (Exception e){System.out.println("输入无效,请输入一个不小于2的正整数!");System.exit(0);}}}第五题 (20XX年10月19日 14:29 更新)import javax.swing.JOptionPane;public class ConditionCheck{public static void main(String args[]){String input = JOptionPane.showInputDialog(null,"请输入(0-100)成绩:","成绩输入框",RMATION_MESSAGE);int n = Integer.parseInt(input);System.out.print(n>=90?"A":"");System.out.print(n<90 && n>=60?"B":"");System.out.print(n<60?"C":"");}}第六题(20XX年10月19日 20:38 更新)/***辗除法:比如:20 和 16 的最大公约数是:4 ;*也就是说(20-16)和 16 的最大公约数是4 。

相关文档
最新文档