java经典50题题目及答案

合集下载

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习题题目及答案

第1章问答题及作业题第1章问答题1、发明Java语言的原因是什么?发明Java语言的主要贡献者是谁?2、“Java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?3、Java程序的主类必须含有怎样的方法?4、“Java应用程序必须含有一个类是public类”,这句话正确吗?5、“Java Applet程序的主类必须是public类”,这句话正确吗?6、请叙述Java源文件的命名规则。

7、源文件生成的字节码在运行时都加载到内存中吗?8、怎样编写加载运行Java Applet的简单网页?9、编译器使用“-source”参数的作用是什么?“-source”参数的默认取值是什么?第1章作业题1.参照例1-1编写一个Java应用程序,程序能在命令行中输出“早上好,Good Morning”。

2.参照例1-2编写一个Java Applet程序,程序能在浏览器中显示“你好,Hello”。

第2章问答题及作业题第2章问答题1、什么是标识符?标识符的规则是什么?2、什么是关键字?请说出5个关键字。

3、Java的基本数据类型是什么?4、下列哪些语句是错误的?int x=120;byte b=120;b=x;5、下列哪些语句是错误的?float x=12.0;float y=12;double d=12;y=d;6、下列两条语句的作用是等价的吗?char x=97;char x=’a’;7、下列语句输出的结果是什么?int a=97;byte b1=(byte)128;byte b2=(byte)-129;System.out.printf(“%c,%d,%d”,a,b1,b2);8、数组是基本数据类型吗?怎样获取一维数组的长度?9、假设有两个int类型数组:int[] a=new int[10];int[] b=new int[8];b=a;a[0]=100;b[0]的值一定是100吗?10、下列两条语句的作用等价吗?int[] a={1,2,3,4,5,6,7,8};int[] a=new int[8];}第2章作业题1.参照例2-1编写一个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例)

JA V A编程实例大全及详解答案(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编程题全集_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分,共50分)1.下列不属于main方法的修饰词的是()A.public B.void C.static D.final2.Java源程序经过编译后的文件类型是()A.字节码文件 B.可执行文件C.目标文件D.中间文件3.下列关于运算符的结合性说法正确的是()A.算术运算符和条件运算符都是左结合(即从左至右)算术不一定++的前缀和后缀不一样B.单目运算符是左结合C.关系运算符是左结合D.赋值运算符是左结合4.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A.继承性B.抽象性C.封装性D.多态性5.下面哪个是合法的布尔值()A.”false”B.false C.0 D.f6.下面哪个是Java语言中的关键字?()A.sizeof B.abstract C.InstanceOf D.Native7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?()A.do-while循环B.for循环C.while循环D.以上都不是8.以下哪个选项用以确定字符串的长度?()A.size B.length C.max_value D.length()9.下面的语句哪个是正确的?()A.char=?abc?; B.long l=0xfff; C.float f=0.23 需加上f;D.double=0.7e-3;10.下列哪个类的声明是错误的?()A.final abstract class A B.final class AC.protected class A D.public class A11.下面程序段的执行结果是什么?()public class Foo{public static void main(String[] args){try{return;}finally{System.out.println(“Finally!”);}}}A.程序正常运行,但不输出任何结果B.程序正常运行,并输出FinallyC.编译能通过,但运行时会出现例外D.因为没有catch语句块,所以不能通过编译12.设a=0,b=-3,则表达式(a>=1)&&++a<=12?b:a的结果为()A.1 B.2 C.0 D.-313.Java语言中,下列常量中是字符型常量的为()A.?\0xFFFF?B.?\u?C.?\\?转义字符D.”ABC”14.Java的字符类型采用的是Unicode编码方案,每个Unicode 码占用____个比特位。

JAVA超级算法(50题及答案)

JAVA超级算法(50题及答案)

【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少;public class lianxi04{public static void main(String[] args) {Scanner s = new Scanner;"请键入一个正整数: ");int n = ();int k=2;+ "=" );while(k <= n) {if(k == n) {else if( n % k == 0) { + "*");n = n / k; }else k++;}}}【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

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

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

* / import .*;public class lianxi06 {public static void main(String[] args) {int a ,b,m;Scanner s = new Scanner;"键入一个整数: ");a = ();"再键入一个整数: ");b = ();deff cd = new deff();m = (a,b);int n = a * b / m;"最大公约数: " + m);"最小公倍数: " + 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】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

(完整版)JAVA试题及答案(50道选择题)

(完整版)JAVA试题及答案(50道选择题)

选择题1、JAVA所定义的版本中不包括:( D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、J AVA2 HEE、J AVA2 SE2、下列说法正确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规范说法正确的是( B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真”;D、b oolean a = = false;6、以下(C )不是合法的标识符A、STRINGB、x3x;C、voidD、d e$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str。

equals("q");D、c ount = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System。

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

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

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

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表示。

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,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。

* / 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】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

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个数相加),几个数相加有键盘控制。

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四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?public class lianxi11 {public static void main(String[] args) { int count = 0;for(int x=1; x<5; x++) { for(int y=1; y<5; y++) { for(int z=1; z<5; z++) { if(x != y && y != z && x != z) { count ++;System.out.println(x*100 + y*10 + z ); } }} }System.out.println("共有" + count + "个三位数"); }}【程序12】题目:企业发放的奖金根据利润提成。

相关文档
最新文档