JAVA菜鸟练手习题50道(有答案的哟)

合集下载

java基础50道经典练习题及答案

java基础50道经典练习题及答案

java基础50道经典练习题及答案《Java基础50道经典练习题及答案》Java作为一种广泛应用于软件开发的编程语言,对于初学者来说,掌握其基础知识是非常重要的。

为了帮助大家更好地学习和掌握Java基础知识,我们整理了50道经典的练习题及答案,希望能够帮助大家更好地理解和掌握Java编程。

1. 请写出Java中的8种基本数据类型。

2. 什么是Java中的包(package)?3. Java中的“==”和“equals()”有什么区别?4. 什么是Java中的多态(polymorphism)?5. 请写出Java中的四种访问修饰符及其作用。

6. 什么是Java中的接口(interface)?7. 请写出Java中的四种循环语句。

8. 什么是Java中的异常处理(exception handling)?9. Java中的“String”和“StringBuffer”有什么区别?10. 请写出Java中的三种注释方式。

这些练习题涵盖了Java基础知识的各个方面,包括数据类型、包、运算符、多态、访问修饰符、接口、循环语句、异常处理、字符串处理等内容。

通过做这些练习题,可以帮助大家更好地理解和掌握Java编程的基础知识。

在学习Java编程的过程中,不仅要掌握理论知识,还要多做练习,多动手实践。

只有通过实际操作,才能更好地理解和掌握Java编程的各种知识点。

希望大家能够认真对待这些练习题,多加练习,相信一定能够取得不错的成绩。

最后,希望大家在学习Java编程的过程中,保持耐心和坚持,相信通过不懈的努力,一定能够掌握好Java编程的基础知识,成为一名优秀的Java程序员。

祝大家学习进步,早日掌握Java编程!。

Java编程50题及答案

Java编程50题及答案

JAVA编程50题及答案【程序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; 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( "素数个数是: " + count);}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

java基础练习题及答案

java基础练习题及答案

java基础练习题及答案Java基础练习题及答案Java作为一种广泛应用的编程语言,其基础知识的掌握对于程序员而言是至关重要的。

为了帮助大家更好地理解和掌握Java的基础知识,下面将提供一些常见的Java基础练习题及其答案,希望对大家有所帮助。

一、数据类型与变量1. 编写一个Java程序,声明一个整型变量x并赋值为10,然后输出该变量的值。

```javapublic class Main {public static void main(String[] args) {int x = 10;System.out.println(x);}}```2. 编写一个Java程序,声明一个字符型变量ch并赋值为'A',然后输出该变量的值。

```javapublic class Main {public static void main(String[] args) {char ch = 'A';System.out.println(ch);}```3. 编写一个Java程序,声明一个布尔型变量isTrue并赋值为true,然后输出该变量的值。

```javapublic class Main {public static void main(String[] args) {boolean isTrue = true;System.out.println(isTrue);}}```二、运算符1. 编写一个Java程序,计算两个整数的和并输出结果。

```javapublic class Main {public static void main(String[] args) {int a = 10;int b = 20;int sum = a + b;System.out.println("两个整数的和为:" + sum);}```2. 编写一个Java程序,计算两个整数的商并输出结果。

java基础50道经典练习题及答案

java基础50道经典练习题及答案

java基础50道经典练习题及答案Java基础50道经典练习题及答案Java作为一门广泛应用于软件开发领域的编程语言,其基础知识的掌握对于程序员来说至关重要。

为了帮助大家更好地理解和掌握Java的基础知识,下面将介绍50道经典的Java练习题及其答案。

1. 编写一个Java程序,打印输出"Hello, World!"。

```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并打印输出1到100之间所有偶数的和。

```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}System.out.println("Sum of even numbers: " + sum);}}```3. 编写一个Java程序,判断一个整数是否为素数。

```javapublic class PrimeNumber {public static void main(String[] args) {int number = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(number); i++) {if (number % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(number + " is a prime number.");} else {System.out.println(number + " is not a prime number."); }}```4. 编写一个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基础入门考试题目及答案

java基础入门考试题目及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. object答案:A2. 下列哪个是Java中的保留字?A. appleB. publicC. javaD. dog答案:B3. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D5. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. structD. object答案:B6. Java中,哪个关键字用于声明一个包?A. packageB. importC. classD. public答案:A7. Java中,哪个关键字用于实现多重继承?A. extendsB. implementsC. extends and implementsD. None of the above答案:B8. 在Java中,哪个关键字用于声明一个变量?A. varB. letC. defD. val答案:A9. Java中,哪个关键字用于声明一个常量?A. finalB. constC. staticD. var答案:A10. 在Java中,哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. try答案:B二、填空题(每题2分,共20分)1. Java是一种_________语言,它支持跨平台运行。

答案:面向对象2. Java程序的执行入口是_________方法。

答案:main3. 在Java中,所有的类都是_________类的子类。

答案:Object4. Java中,用于声明一个私有方法的关键字是_________。

java基础题(附答案)

java基础题(附答案)基础编程练习,能做几道初学java程序看得懂,但下不了手,高手们说只能多练习,所以找了这些题,是从java私塾跟我学系列课后习题中挑选的一部分,大家一起来做做吧,看看能做多少。

【1】将1 到1000 之间的奇数打印出来。

【2】判断一个数能否同时被3和5 整除。

【3】输入10个数,找出最大一个数,并打印出来。

【4】给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。

90 分以上为’A’,80~89 分为’B’,70~79 分为’C’,60~69 分为’D’,60分以下为’E’。

【5】把一个正整数分解质因数。

【6】打印出如下图案(菱形)*************************【7】请编写一个方法实现如下功能:将1至7 的数字转换为星期日到星期六的字符串。

【8】请编写一个方法实现如下功能:有任意三个整数a,b,c,请输出其中最大的【9】请编写一个方法实现如下功能:将任意三个整数a,b,c按从小到大的顺序输出。

【10】请编写一个方法实现如下功能:用程序找出每位数的立方和等于该数本身值的所有的3 位数。

(水仙花数)【11】请编写一个方法实现如下功能:计算1 加到n (n>=2的整数)的总和。

【12】请编写一个方法实现如下功能:得到一个整数的绝对值。

【13】定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出“Yes”,不包含就打印出“No”【14】生成一百个随机数,放到数组中,然后排序输出。

【15】统计字符串中英文字母、空格、数字和其它字符的个数。

【16】写一个方法,功能:定义一个一维的int数组,长度为3,把任意三个整数a,b,c赋值给数组,然后将它们按从小到大的顺序输出(使用冒泡排序)【17】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

50道java经典练习题

50道java经典练习题Java是一门广泛使用的编程语言,许多程序员在学习和实践中都会遇到各种各样的问题和挑战。

为了提高自己的编程技能,解决问题的能力和代码的质量,有一些经典的Java练习题非常值得一试。

在本文中,我们将介绍50道Java经典练习题,希望能够对你的学习和实践有所帮助。

1. 编写一个程序,输入两个整数,求它们的和。

2. 编写一个程序,用循环结构输出1到100之间的所有奇数。

3. 编写一个程序,使用递归计算n的阶乘。

4. 编写一个程序,找出一个整数数组中的最大值。

5. 编写一个程序,将一个字符串反转输出。

6. 编写一个程序,判断一个字符串是否是回文。

7. 编写一个程序,将一个整数转换为二进制表示的字符串。

8. 编写一个程序,实现冒泡排序算法对一个整数数组进行排序。

9. 编写一个程序,将两个有序数组合并为一个有序数组。

10. 编写一个程序,计算一个字符串中每个字符出现的次数。

11. 编写一个程序,判断一个整数是否是素数。

12. 编写一个程序,生成斐波那契数列前n个数字。

13. 编写一个程序,找出一个整数数组中的前k个最大值。

14. 编写一个程序,计算一个整数数组的平均值。

15. 编写一个程序,判断一个字符串是否是有效的括号序列。

16. 编写一个程序,将一个整数翻转输出。

17. 编写一个程序,计算两个整数的最大公约数。

18. 编写一个程序,找出一个字符串中最长的连续子串。

19. 编写一个程序,找出一个字符串中出现次数最多的字符。

20. 编写一个程序,将一个整数数组循环右移k位。

21. 编写一个程序,计算一个浮点数的平方根。

22. 编写一个程序,将一个字符串按单词逆序输出。

23. 编写一个程序,判断一个字符串是否是有效的回文字符串。

24. 编写一个程序,计算两个浮点数的最大公约数。

25. 编写一个程序,找出一个整数数组中的前k个最小值。

26. 编写一个程序,判断两个字符串是否互为变位词。

27. 编写一个程序,将一个整数数组按奇偶分成两个数组。

java初学者练习题

java初学者练习题Java是一种广泛使用的编程语言,以其跨平台的特性和面向对象的特性而闻名。

对于初学者来说,练习是掌握Java编程的关键。

以下是一些适合Java初学者的练习题,旨在帮助他们加深对Java基本概念的理解。

# 基础语法练习1. 变量声明和初始化:编写一个Java程序,声明并初始化不同类型的变量,包括整数(int)、浮点数(double)、字符(char)和布尔值(boolean)。

2. 数据类型转换:编写一个程序,演示如何将整数转换为浮点数,以及如何将浮点数转换为整数。

3. 运算符使用:创建一个程序,使用算术运算符(+, -, *, /, %)进行基本的数学运算,并打印结果。

4. 条件语句:编写一个程序,使用if-else语句来判断一个数是正数、负数还是零。

5. 循环结构:使用for循环打印0到10的所有整数,并使用while循环打印1到20的所有整数。

6. 数组操作:声明一个整数数组,并使用循环对其进行初始化,然后打印数组中的所有元素。

# 控制流程练习1. 嵌套循环:使用嵌套for循环打印一个5x5的乘法表。

2. switch语句:编写一个程序,使用switch语句根据输入的月份打印对应的季节。

3. break和continue:编写一个程序,使用for循环和continue语句跳过数组中的偶数,使用break语句在数组中找到第一个负数时退出循环。

# 面向对象编程练习1. 类和对象:创建一个名为`Student`的类,包含姓名、年龄和分数等属性,以及相应的getters和setters方法。

2. 继承:创建一个基类`Animal`,然后创建一个继承自`Animal`的子类`Dog`,添加特定的属性和方法。

3. 多态:重写基类中的一个方法,在子类中提供不同的实现,并编写程序演示多态行为。

4. 接口实现:定义一个接口`Movable`,包含一个方法`move()`,然后创建一个类实现该接口。

java入门练习题

Java入门练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。

2. 声明一个整型变量并赋值为10,然后输出该变量的值。

3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。

4. 声明一个浮点型变量并赋值为3.14,然后输出该变量的值。

5. 编写一个Java程序,交换两个变量的值。

二、条件语句1. 判断一个整数是正数、负数还是零。

2. 编写一个Java程序,根据用户输入的成绩,判断其等级(优秀、良好、中等、及格、不及格)。

3. 判断一个年份是否为闰年。

4. 编写一个Java程序,实现简易计算器功能(加、减、乘、除)。

三、循环结构1. 输出1到100之间所有的偶数。

2. 计算1到100之间所有整数的和。

3. 输出九九乘法表。

4. 编写一个Java程序,求斐波那契数列的前20项。

5. 使用while循环实现冒泡排序算法。

四、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。

2. 编写一个Java程序,实现数组元素的逆序输出。

3. 计算一个整型数组中所有元素的和。

4. 查找一个整型数组中的最大值和最小值。

5. 编写一个Java程序,实现两个数组的合并。

五、面向对象基础1. 创建一个学生类,包含姓名、年龄、成绩属性,并实现一个打印学生信息的方法。

2. 编写一个Java程序,创建一个矩形类,包含长和宽属性,并实现计算面积和周长的方法。

3. 创建一个动物类,包含吃、睡觉、叫的方法,并创建猫和狗两个子类继承动物类。

4. 编写一个Java程序,实现一个简单的银行账户类,包含存款、取款和查询余额方法。

5. 创建一个图书类,包含书名、作者、价格属性,并实现一个比较价格的方法。

六、字符串操作1. 编写一个Java程序,实现字符串的逆序输出。

2. 判断一个字符串是否为回文。

3. 查找字符串中某个字符出现的次数。

4. 编写一个Java程序,实现字符串的替换功能。

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

【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....//这是一个菲波拉契数列问题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; 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( "素数个数是: " + count);}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

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

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

public class lianxi03 {public static void main(String[] args) {int b1, b2, b3;for(int m=101; m<1000; m++) {b3 = m / 100;b2 = m % 100 / 10;b1 = m % 10;if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) {System.out.println(m+"是一个水仙花数"); }}}}【程序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的值,重复执行第一步。

import java.util.*;public class lianxi04{public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.print( "请键入一个正整数: ");int n = s.nextInt();int k=2;System.out.print(n + "=" );while(k <= n) {if(k == n) {System.out.println(n);break;}else if( n % k == 0) {System.out.print(k + "*");n = n / k; }else k++;}}}【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

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

import java.util.*;public class lianxi05 {public static void main(String[] args) {int x;char grade;Scanner s = new Scanner(System.in);System.out.print( "请输入一个成绩: ");x = s.nextInt();grade = x >= 90 ? 'A': x >= 60 ? 'B':'C';System.out.println("等级为:"+grade);}}【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。

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

import java.util.*;public class lianxi06 {public static void main(String[] args) {int a ,b,m;Scanner s = new Scanner(System.in);System.out.print( "键入一个整数:");a = s.nextInt();System.out.print( "再键入一个整数:");b = s.nextInt();deff cd = new deff();m = cd.deff(a,b);int n = a * b / m;System.out.println("最大公约数: " + m);System.out.println("最小公倍数: " + n);}}class deff{public int deff(int x, int y) {int t;if(x < y) {t = x;x = y;y = t;}while(y != 0) {if(x == y) return x;else {int k = x % y;x = y;y = k;}}return x;}}【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'\n '.import java.util.*;public class lianxi07 {public static void main(String[] args) {int digital = 0;int character = 0;int other = 0;int blank = 0;char[] ch = null;Scanner sc = new Scanner(System.in);String s = sc.nextLine();ch = s.toCharArray();for(int i=0; i<ch.length; i++) {if(ch >= '0' && ch <= '9') {digital ++;} else if((ch >= 'a' && ch <= 'z') || ch > 'A' && ch <= 'Z') {character ++;} else if(ch == ' ') {blank ++;} else {other ++;}}System.out.println("数字个数: " + digital);System.out.println("英文字母个数: " + character);System.out.println("空格个数: " + blank);System.out.println("其他字符个数:" + other );}}【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

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

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

import java.util.*;public class lianxi08 {public static void main(String[] args) {long a , b = 0, sum = 0;Scanner s = new Scanner(System.in);System.out.print("输入数字a的值:");a = s.nextInt();System.out.print("输入相加的项数:");int n = s.nextInt();int i = 0;while(i < n) {b = b + a;sum = sum + b;a = a * 10;++ i;}System.out.println(sum);}}【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。

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

public class lianxi09 {public static void main(String[] args) {System.out.println("1到1000的完数有:");for(int i=1; i<1000; i++) {int t = 0;for(int j=1; j<= i/2; j++) {if(i % j == 0) {t = t + j;}}if(t == i) {System.out.print(i + " ");}}}【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?public class lianxi10 {public static void main(String[] args) {double h = 100,s = 100;for(int i=1; i<10; i++) {s = s + h;h = h / 2;}System.out.println("经过路程:" + s);System.out.println("反弹高度:" + h / 2);}}【程序11】题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

相关文档
最新文档