Java基础编程题(含答案)
沃克IT教育JAVA基础编程练习题 整理:Lemon 【程序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+"个月兔子总数为"+fun(n)); } private static int fun(int n){ if(n==1 || n==2) return 1; else return fun(n-1)+fun(n-2); } }
【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class Prog2{ public static void main(String[] args){ int m = 1; int n = 1000; int count = 0; //统计素数个数 for(int i=m;iif(isPrime(i)){ count++; System.out.print(i+" "); if(count%10==0){ System.out.println(); } } } System.out.println(); System.out.println("在"+m+"和"+n+"之间共有"+count+"个素数"); } //判断素数 private static boolean isPrime(int n){ boolean flag = true; if(n==1) flag = false; else{ for(int i=2;i<=Math.sqrt(n);i++){ if((n%i)==0 || n==1){ flag = false; break; } else flag = true; } } return flag; } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 public class Prog3{ public static void main(String[] args){ for(int i=100;i<1000;i++){ if(isLotus(i)) System.out.print(i+" "); } System.out.println(); } //判断水仙花数 private static boolean isLotus(int lotus){ int m = 0; int n = lotus; int sum = 0; m = n/100; n -= m*100; sum = m*m*m; m = n/10; n -= m*10; sum += m*m*m + n*n*n; if(sum==lotus) return true; else return false; } } 【程序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的值,重复执行第一步。 public class Prog4{ public static void main(String[] args){ int n = 13; decompose(n); } private static void decompose(int n){ System.out.print(n+"="); for(int i=2;iwhile(n%i==0 && n!=i){ n/=i; System.out.print(i+"*"); } if(n==i){ System.out.println(i); break; } } } } 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 程序分析:(a>b)?a:b这是条件运算符的基本例子。 public class Prog5{ public static void main(String[] args){ int n = -1; try{ n = Integer.parseInt(args[0]); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("请输入成绩"); return; } grade(n); } //成绩等级计算 private static void grade(int n){ if(n>100 || n<0) System.out.println("输入无效"); else{ String str = (n>=90)?"分,属于A等":((n>60)?"分,属于B等":"分,属于C等"); System.out.println(n+str); } } }
【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。 public class Prog6{ public static void main(String[] args){ int m,n; try{ m = Integer.parseInt(args[0]); n = Integer.parseInt(args[1]); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("输入有误"); return; } max_min(m,n); } //求最大公约数和最小公倍数 private static void max_min(int m, int n){ int temp = 1; int yshu = 1; int bshu = m*n; if(ntemp = n; n = m; m = temp; } while(m!=0){ temp = n%m; n = m; m = temp; } yshu = n; bshu /= n; System.out.println(m+"和"+n+"的最大公约数为"+yshu); System.out.println(m+"和"+n+"的最小公倍数为"+bshu); } } 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析:利用while语句,条件为输入的字符不为'\n'. import java.util.Scanner; public class Prog7_1{ public static void main(String[] args){ System.out.print("请输入一串字符:"); Scanner scan = new Scanner(System.in); String str = scan.nextLine();//将一行字符转化为字符串 scan.close(); count(str); } //统计输入的字符数 private static void count(String str){ String E1 = "[\u4e00-\u9fa5]";//汉字 String E2 = "[a-zA-Z]"; String E3 = "[0-9]"; String E4 = "\\s";//空格 int countChinese = 0; int countLetter = 0; int countNumber = 0; int countSpace = 0; int countOther = 0; char[] array_Char = str.toCharArray();//将字符串转化为字符数组 String[] array_String = new String[array_Char.length];//汉字只能作为字符串处理 for(int i=0;i array_String[i] = String.valueOf(array_Char[i]); //遍历字符串数组中的元素 for(String s:array_String){ if(s.matches(E1)) countChinese++; else if(s.matches(E2)) countLetter++; else if(s.matches(E3)) countNumber++; else if(s.matches(E4)) countSpace++; else countOther++; } System.out.println("输入的汉字个数:"+countChinese); System.out.println("输入的字母个数:"+countLetter); System.out.println("输入的数字个数:"+countNumber); System.out.println("输入的空格个数:"+countSpace); System.out.println("输入的其它字符个数:"+countSpace); } }
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基础试题和答案
27)在JAVA中,通过调用以下()方法,可以装载SUN的JDBC-ODBC桥。
(选择一项)
a)newClass().load(“”);
b)newClass().forName(“”);
c)Class.forName(“”);
d)Class.load(“”);
Strings=null;s.concat(“abc”);a)ArithmeticExceptionb)NullPointerExceptionc)IOException d)EOFException
7)在java中,()对象可以使用键/值的形式保存数据。(选择一项)
a)ArrayList b)HashSet
try{ PrintWriterout=newPrintWriter(newFileOutputStream(“d:/abc.txt”)); Stringname=”chen”;
out.print(name); out.close();
}
catch(Execptione){
“文件没有发现!“);
}
a)将在控制台上打印:“文件没有发现!”
c)PrintWriter
d)Dir
25)在java中,下列()类不能派生出子类.(选择一项)a)publicclassMyClass{}
b)classMyClass{} c)abstractclassMyClass{}d)finalclassMyClass{}
26)在java中,以下()命令能够将java源文件编译为类文件(选择一项)
publicstaticvoidmain(string[]args)
{
Strings;
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基础部分题(参考答案)
Java基础部分题(参考答案)基础语法1:1、下列变量定义错误的是。
2、A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8;3、下列数据类型的精度由高到低的顺序是:a)float,double,int,long b)double,float,int,bytec)byte,long,double,float d)double,int,float,long4、执行完下列代码后,int a=3;char b='5';char c=(char)(a+b);c的值是?A)?8? b)53 c)8 d)565、Unicode是一种_____________A) 数据类型B)java包C)字符编码D)java类6、6+5%3+2的值是___________A)2 B)1 C)9 D)107、下面的逻辑表达式中合法的是__________A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10D)(9%4)&&(8*3)8、java语言中,占用32位存储空间的是__________。
A、long,doubleB、long,floatC、int,doubleD、int,float9、假设int a=3,b=2,c=1,以下语句正确的是___________。
A)c=c/float(a//b) b) c=c/((float a)/b)c) c=(float)c/(a/b) d) c= c/(int)(a/(float)b)10、2|3&5的值是________________。
A)1 B)2 C)3D)511、指出下列正确的语句:A) byte i = 389; B) long lv = i*3+4.5;C) int x = 87L; D) long l = 10;11、指出下列类型转换中正确的是______________。
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项之和。
java基础练习题及答案
java基础练习题及答案Java基础练习题及答案Java是一门广泛应用于软件开发领域的编程语言,具有跨平台、面向对象、安全性高等特点。
在学习Java的过程中,练习题是不可或缺的一部分。
通过练习题的实践,可以巩固对Java基础知识的理解,并提高编程能力。
本文将介绍几个常见的Java基础练习题,并给出相应的答案。
1. 编写一个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("1到100之间所有偶数的和为:" + sum);}}```2. 编写一个Java程序,判断一个整数是否是素数。
```javapublic class PrimeNumber {public static void main(String[] args) {int num = 29;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + "是素数。
");} else {System.out.println(num + "不是素数。
");}}}```3. 编写一个Java程序,找出一个字符串中出现次数最多的字符及其出现次数。
```javapublic class MostFrequentCharacter {public static void main(String[] args) {int[] count = new int[256];for (int i = 0; i < str.length(); i++) {count[str.charAt(i)]++;}int maxCount = 0;char mostFrequentChar = ' ';for (int i = 0; i < count.length; i++) {if (count[i] > maxCount) {maxCount = count[i];mostFrequentChar = (char) i;}}System.out.println("出现次数最多的字符是:" + mostFrequentChar); System.out.println("出现次数:" + maxCount);}}```4. 编写一个Java程序,将一个字符串反转输出。
java程序设计基础期末考试题及答案
java程序设计基础期末考试题及答案一、选择题(每题2分,共20分)1. Java程序中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. 在Java中,哪个方法用于获取对象的哈希码?A. hashCode()B. equals()C. compare()D. compareTo()答案:A3. 下列哪个选项是Java中的合法标识符?A. 2variableB. variable2C. classD. $variable答案:B4. Java中,哪个关键字用于实现多态?A. finalB. abstractC. overrideD. implements答案:C5. Java中,哪个关键字用于抛出异常?A. throwsB. throwC. catchD. try答案:B6. 在Java中,哪个类是所有类的根类?A. ObjectB. StringC. IntegerD. Exception答案:A7. 下列哪个选项是Java中的集合框架?A. java.utilB. java.ioC. D. ng答案:A8. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. abstractD. enum答案:B9. 在Java中,哪个关键字用于声明一个抽象方法?A. abstractB. finalC. nativeD. static答案:A10. Java中,哪个关键字用于声明一个枚举?A. enumB. classC. interfaceD. struct答案:A二、填空题(每题2分,共20分)1. Java程序的执行入口是________方法。
答案:main2. 在Java中,一个类可以继承多个________。
答案:接口3. Java中的________关键字用于定义一个私有方法。
答案:private4. Java中的________关键字用于定义一个公共方法。
JAVA编程题全集(100题及答案)
Java程序设计总复习题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基础练习题答案一、选择题1. Java是一种:A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 以下哪个是Java的基本数据类型?A. StringB. IntegerC. booleanD. Object答案:C3. Java中的main方法是:A. 程序的入口点B. 程序的结束点C. 程序的循环点D. 程序的异常处理点答案:A4. 在Java中,哪个关键字用于定义类?A. classB. functionC. structD. interface答案:A5. Java中的异常处理是通过以下哪个关键字实现的?A. tryB. catchC. finallyD. A和B答案:D二、填空题1. Java是一种面向________的语言。
答案:对象2. Java程序的执行流程是从________方法开始的。
答案:main3. 在Java中,所有的类都是继承自________类。
答案:Object4. 一个Java程序可以包含多个类,但只有一个________类。
答案:公共(public)5. Java的垃圾回收机制用于________内存。
答案:自动回收三、简答题1. 请简述Java的跨平台特性。
答案:Java的跨平台特性主要得益于它的编译和运行机制。
Java 源代码首先被编译成字节码,这些字节码可以在任何安装了Java虚拟机(JVM)的平台上运行,而不需要重新编译。
2. 什么是Java的封装性?答案:封装性是面向对象编程的一个核心概念,它指的是将对象的数据(属性)和行为(方法)捆绑在一起,并隐藏内部实现细节,只通过公共接口与外部交互。
四、编程题1. 编写一个Java程序,计算并打印1到100的整数之和。
```javapublic class SumCalculator {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("The sum of numbers from 1 to 100 is: " + sum);}}```2. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除运算。
