文档库 最新最全的文档下载
当前位置:文档库 › JAVA编程试题

JAVA编程试题

JAVA编程试题
JAVA编程试题

题目:判断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);

}

}

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

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】

题目:企业发放的奖金根据利润提成。利润(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%提成,从键盘输入当月利润,求应发放奖金总数?

import java.util.*;

public class lianxi12 {

public static void main(String[] args) {

double x = 0,y = 0;

System.out.print("输入当月利润(万):");

Scanner s = new Scanner(System.in);

x = s.nextInt();

if(x > 0 && x <= 10) {

y = x * 0.1;

} else if(x > 10 && x <= 20) {

y = 10 * 0.1 + (x - 10) * 0.075;

} else if(x > 20 && x <= 40) {

y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05;

} else if(x > 40 && x <= 60) {

y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (x - 40) * 0.03;

} else if(x > 60 && x <= 100) {

y = 20 * 0.175 + 20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015;

} else if(x > 100) {

y = 20 * 0.175 + 40 * 0.08 + 40 * 0.015 + (x - 100) * 0.01;

}

System.out.println("应该提取的奖金是" + y + "万");

}

}

【程序13】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

public class lianxi13 {

public static void main(String[] args) {

for(int x =1; x<100000; x++) {

if(Math.sqrt(x+100) % 1 == 0) {

if(Math.sqrt(x+268) % 1 == 0) {

System.out.println(x + "加100是一个完全平方数,再加168又是一个完全平方数");

}

}

}

}

}

/*按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件的数-99。

但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。*/ 【程序14】

题目:输入某年某月某日,判断这一天是这一年的第几天?

import java.util.*;

public class lianxi14 {

public static void main(String[] args) {

int year, month, day;

int days = 0;

int d = 0;

int e;

input fymd = new input();

do {

e = 0;

System.out.print("输入年:");

year =fymd.input();

System.out.print("输入月:");

month = fymd.input();

System.out.print("输入天:");

day = fymd.input();

if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) {

System.out.println("输入错误,请重新输入!");

e=1 ;

}

}while( e==1);

for (int i=1; i

switch (i) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

days = 31;

break;

case 4:

case 6:

case 9:

case 11:

days = 30;

break;

case 2:

if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {

days = 29;

days = 28;

}

break;

}

d += days;

}

System.out.println(year + "-" + month + "-" + day + "是这年的第" + (d+day) + "天。"); }

}

class input{

public int input() {

int value = 0;

Scanner s = new Scanner(System.in);

value = s.nextInt();

return value;

}

}

【程序15】

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

import java.util.*;

public class lianxi15 {

public static void main(String[] args) {

input fnc = new input();

int x=0, y=0, z=0;

System.out.print("输入第一个数字:");

x = fnc.input();

System.out.print("输入第二个数字:");

y = fnc.input();

System.out.print("输入第三个数字:");

z = fnc.input();

if(x > y) {

int t = x;

x = y;

y = t;

}

if(x > z) {

int t = x;

x = z;

z = t;

}

if(y > z) {

int t = y;

y = z;

}

System.out.println( "三个数字由小到大排列为:"+x + " " + y + " " + z);

}

}

class input{

public int input() {

int value = 0;

Scanner s = new Scanner(System.in);

value = s.nextInt();

return value;

}

}

【程序16】

题目:输出9*9口诀。

public class lianxi16 {

public static void main(String[] args) {

for(int i=1; i<10; i++) {

for(int j=1; j<=i; j++) {

System.out.print(j + "*" + i + "=" + j*i + " " );

if(j*i<10){System.out.print(" ");}

}

System.out.println();

}

}

}

【程序17】

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。public class lianxi17 {

public static void main(String[] args) {

int x = 1;

for(int i=2; i<=10; i++) {

x = (x+1)*2;

}

System.out.println("猴子第一天摘了" + x + " 个桃子");

}

}

【程序18】

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

public class lianxi18 {

static char[] m = { 'a', 'b', 'c' };

static char[] n = { 'x', 'y', 'z' };

public static void main(String[] args) {

for (int i = 0; i < m.length; i++) {

for (int j = 0; j < n.length; j++) {

if (m[i] == 'a' && n[j] == 'x') {

continue;

} else if (m[i] == 'a' && n[j] == 'y') {

continue;

} else if ((m[i] == 'c' && n[j] == 'x')

|| (m[i] == 'c' && n[j] == 'z')) {

continue;

} else if ((m[i] == 'b' && n[j] == 'z')

|| (m[i] == 'b' && n[j] == 'y')) {

continue;

} else

System.out.println(m[i] + " vs " + n[j]);

}

}

}

}

【程序19】

题目:打印出如下图案(菱形)

*

***

*****

*******

*****

***

*

public class lianxi19 {

public static void main(String[] args) {

int H = 7, W = 7;//高和宽必须是相等的奇数for(int i=0; i<(H+1) / 2; i++) {

for(int j=0; j

System.out.print(" ");

}

for(int k=1; k<(i+1)*2; k++) {

System.out.print('*');

}

System.out.println();

}

for(int i=1; i<=H/2; i++) {

for(int j=1; j<=i; j++) {

System.out.print(" ");

}

for(int k=1; k<=W-2*i; k++) {

System.out.print('*');

}

System.out.println();

}

}

}

【程序20】

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

public static void main(String[] args) {

int x = 2, y = 1, t;

double sum = 0;

for(int i=1; i<=20; i++) {

sum = sum + (double)x / y;

t = y;

y = x;

x = y + t;

}

System.out.println("前20项相加之和是:" + sum);

}

}

【程序21】

题目:求1+2!+3!+...+20!的和

public class lianxi21 {

public static void main(String[] args) {

long sum = 0;

long fac = 1;

for(int i=1; i<=20; i++) {

fac = fac * i;

sum += fac;

}

System.out.println(sum);

}

}

【程序22】

题目:利用递归方法求5!。

public class lianxi22 {

public static void main(String[] args) {

int n = 5;

rec fr = new rec();

System.out.println(n+"! = "+fr.rec(n));

}

}

class rec{

public long rec(int n) {

long value = 0 ;

if(n ==1 ) {

value = 1;

} else {

value = n * rec(n-1);

}

return value;

}

}

【程序23】

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

public class lianxi23 {

public static void main(String[] args) {

int age = 10;

for(int i=2; i<=5; i++) {

age =age+2;

}

System.out.println(age);

}

}

【程序24】

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

//使用了长整型最多输入18位

import java.util.*;

public class lianxi24 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

System.out.print("请输入一个正整数:");

long a = s.nextLong();

String ss = Long.toString(a);

char[] ch = ss.toCharArray();

int j=ch.length;

System.out.println(a + "是一个"+ j +"位数。");

System.out.print("按逆序输出是:");

for(int i=j-1; i>=0; i--) {

System.out.print(ch[i]);

}

}

}

【程序25】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

import java.util.*;

public class lianxi25 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

int a;

do{

System.out.print("请输入一个5位正整数:");

a = s.nextInt();

}while(a<10000||a>99999);

String ss =String.valueOf(a);

char[] ch = ss.toCharArray();

if(ch[0]==ch[4]&&ch[1]==ch[3]){

System.out.println("这是一个回文数");}

else {System.out.println("这不是一个回文数");}

}

}

//这个更好,不限位数

import java.util.*;

public class lianxi25a {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

boolean is =true;

System.out.print("请输入一个正整数:");

long a = s.nextLong();

String ss = Long.toString(a);

char[] ch = ss.toCharArray();

int j=ch.length;

for(int i=0; i

if(ch[i]!=ch[j-i-1]){is=false;}

}

if(is==true){System.out.println("这是一个回文数");}

else {System.out.println("这不是一个回文数");}

}

}

【程序26】

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

import java.util.*;

public class lianxi26 {

public static void main(String[] args) {

getChar tw = new getChar();

System.out.println("请输入星期的第一个大写字母:");

char ch = tw.getChar();

switch(ch) {

case 'M':

System.out.println("Monday");

break;

case 'W':

System.out.println("Wednesday");

break;

case 'F':

System.out.println("Friday");

break;

case 'T': {

System.out.println("请输入星期的第二个字母:");

char ch2 = tw.getChar();

if(ch2 == 'U') {System.out.println("Tuesday"); }

else if(ch2 == 'H') {System.out.println("Thursday"); } else {System.out.println("无此写法!");

}

};

break;

case 'S': {

System.out.println("请输入星期的第二个字母:");

char ch2 = tw.getChar();

if(ch2 == 'U') {System.out.println("Sunday"); }

else if(ch2 == 'A') {System.out.println("Saturday"); } else {System.out.println("无此写法!");

}

};

break;

default:System.out.println("无此写法!");

}

}

}

class getChar{

public char getChar() {

Scanner s = new Scanner(System.in);

String str = s.nextLine();

char ch = str.charAt(0);

if(ch<'A' || ch>'Z') {

System.out.println("输入错误,请重新输入");

ch=getChar();

}

return ch;

}

}

【程序27】

题目:求100之内的素数

//使用除sqrt(n)的方法求出的素数不包括2和3

public class lianxi27 {

public static void main(String[] args) {

boolean b =false;

System.out.print(2 + " ");

System.out.print(3 + " ");

for(int i=3; i<100; i+=2) {

for(int j=2; j<=Math.sqrt(i); j++) {

if(i % j == 0) {b = false;

break;

} else{b = true;}

}

if(b == true) {System.out.print(i + " ");}

}

}

}

//该程序使用除1位素数得2位方法,运行效率高通用性差。public class lianxi27a {

public static void main(String[] args) {

int[] a = new int[]{2, 3, 5, 7};

for(int j=0; j<4; j++)System.out.print(a[j] + " "); boolean b =false;

for(int i=11; i<100; i+=2) {

for(int j=0; j<4; j++) {

if(i % a[j] == 0) {b = false;

break;

} else{b = true;}

}

if(b == true) {System.out.print(i + " ");}

}

}

}

【程序28】

题目:对10个数进行排序

import java.util.*;

public class lianxi28 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

int[] a = new int[10];

System.out.println("请输入10个整数:");

for(int i=0; i<10; i++) {

a[i] = s.nextInt();

}

for(int i=0; i<10; i++) {

for(int j=i+1; j<10; j++) {

if(a[i] > a[j]) {

int t = a[i];

a[i] = a[j];

a[j] = t;

}

}

}

for(int i=0; i<10; i++) {

System.out.print(a[i] + " ");

}

}

}

【程序29】

题目:求一个3*3矩阵对角线元素之和

import java.util.*;

public class lianxi29 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

int[][] a = new int[3][3];

System.out.println("请输入9个整数:");

for(int i=0; i<3; i++) {

for(int j=0; j<3; j++) {

a[i][j] = s.nextInt();

}

}

System.out.println("输入的3 * 3 矩阵是:"); for(int i=0; i<3; i++) {

for(int j=0; j<3; j++) {

System.out.print(a[i][j] + " ");

}

System.out.println();

}

int sum = 0;

for(int i=0; i<3; i++) {

for(int j=0; j<3; j++) {

if(i == j) {

sum += a[i][j];

}

}

}

System.out.println("对角线之和是:" + sum);

}

}

【程序30】

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。//此程序不好,没有使用折半查找插入

import java.util.*;

public class lianxi30 {

public static void main(String[] args) {

int[] a = new int[]{1, 2, 6, 14, 25, 36, 37,55};

int[] b = new int[a.length+1];

int t1 =0, t2 = 0;

int i =0;

Scanner s= new Scanner(System.in);

System.out.print("请输入一个整数:");

int num = s.nextInt();

if(num >= a[a.length-1]) {

b[b.length-1] = num;

for(i=0; i

b[i] = a[i];

}

} else {

for(i=0; i

if(num >= a[i]) {

b[i] = a[i];

} else {

b[i] = num;

break;

}

}

for(int j=i+1; j

b[j] = a[j-1];

}

}

for (i = 0; i < b.length; i++) {

System.out.print(b[i] + " ");

}

}

}

【程序31】

题目:将一个数组逆序输出。

import java.util.*;

public class lianxi31 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

int a[] = new int[20];

System.out.println("请输入多个正整数(输入-1表示结束):");

int i=0,j;

do{

a[i]=s.nextInt();

i++;

}while (a[i-1]!=-1);

System.out.println("你输入的数组为:");

for( j=0; j

System.out.print(a[j]+" ");

}

System.out.println("\n数组逆序输出为:");

for( j=i-2; j>=0; j=j-1) {

System.out.print(a[j]+" ");

}

}

}

【程序32】

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

import java.util.*;

public class lianxi32 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

System.out.print("请输入一个7位以上的正整数:");

long a = s.nextLong();

String ss = Long.toString(a);

char[] ch = ss.toCharArray();

int j=ch.length;

if (j<7){System.out.println("输入错误!");}

else {

System.out.println("截取从右端开始的4~7位是:"+ch[j-7]+ch[j-6]+ch[j-5]+ch[j-4]);

}

}

}

【程序33】

题目:打印出杨辉三角形(要求打印出10行如下图)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

…………

public class lianxi33 {

public static void main(String[] args) {

int[][] a = new int[10][10];

for(int i=0; i<10; i++) {

a[i][i] = 1;

a[i][0] = 1;

}

for(int i=2; i<10; i++) {

for(int j=1; j

a[i][j] = a[i-1][j-1] + a[i-1][j];

}

}

for(int i=0; i<10; i++) {

for(int k=0; k<2*(10-i)-1; k++) {

System.out.print(" ");

}

for(int j=0; j<=i; j++) {

System.out.print(a[i][j] + " ");

}

System.out.println();

}

}

}

【程序34】

题目:输入3个数a,b,c,按大小顺序输出。import java.util.Scanner;

public class lianxi34 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

System.out.println("请输入3个整数:"); int a = s.nextInt();

int b = s.nextInt();

int c = s.nextInt();

if(a < b) {

int t = a;

a = b;

b = t;

}

if(a < c) {

int t = a;

a = c;

c = t;

}

if(b < c) {

int t = b;

b = c;

c = t;

}

System.out.println("从大到小的顺序输出:");

System.out.println(a + " " + b + " " + c);

}

}

【程序35】

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。import java.util.*;

public class lianxi35 {

public static void main(String[] args) {

int N = 8;

int[] a = new int [N];

Scanner s = new Scanner(System.in);

int idx1 = 0, idx2 = 0;

System.out.println("请输入8个整数:");

for(int i=0; i

a[i] = s.nextInt();

}

System.out.println("你输入的数组为:");

for(int i=0; i

System.out.print(a[i] + " ");

}

int max =a[0], min = a[0];

for(int i=0; i

if(a[i] > max) {

max = a[i];

idx1 = i;

}

if(a[i] < min) {

min = a[i];

idx2 = i;

}

}

if(idx1 != 0) {

int temp = a[0];

a[0] = a[idx1];

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

Java语言程序设计二级考试模拟试卷

Java语言程序设计二级考试模拟试卷一 (考试时间90分钟,满分100分) 一、选择题(1~20题每题2分,20~30题每题3分,计70分) 在下列各题的A、B、C、D、四个选项中,只有一个选项是确定的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 1、下列叙述中正确的是()。 A、线性表是线性结构 B、栈和队列是非线性结构 C、线性链表是非线性结构 D、二叉树是线性结构 2、下列关于队列的叙述中正确的是()。 A、在队列中只能插入数据 B、在队列中只能删除数据 C、队列是先进先出的线性表 D、队列是先进后出的线性表 3、设有下列二叉树: 对此二叉树前遍历的结果是()。 A、ABCDEF B、DBEAFC C、ABDECF D、DEBFCA 4、设树T的度为4,其中度为1、2、3、4的结点个数分别是4,2,1,1。则T中的叶子结点数是()。 A、8 B、7 C、6 D、5 5、结构化程序设计主要强调的是()。 A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性 6、下面对对象概念描述错误的是()。 A、任何对象都必须有继承性 B、对象是属性和方法的封装体 C、对象间的通讯靠消息传递 D、操作是对象的动态属性 7、在软件测试中,以发现各模块内部可能存在的各种错误为目的的测试是()。 A、集成测试 B、单元测试 C、黑盒测试 D、白盒测试 8、软件需求分析阶段的工作,可以分为四个方面,需求获取、需求分析、编写需求规格说明书以及()。 A、阶段性报告 B、需求评审 C、总结 D、信息隐藏 9、在关系数据库中,用来表示实体之间联系的是()。 A、树结构 B、网结构 C、线性表 D、二维表 10、在关系数据库中,当数据的存储结构改变时,其逻辑结构可以不变,因次,基于逻辑结构的应用程

《JAVA语言程序设计》期末考试试题及答案(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

Java程序设计复习题 (1)

一、单选题:在下列各题的备选答案中选择一个正确的。(每题2分,共20分) 1、下列方法中不是键盘事件KeyEvent实现方法的是() A .keyPressed(KeyEvent e) B .keyReleased(KeyEvent e) C .mouseClicked(MouseEevent e) D .keyTyped(KeyEvent e) 2、下列关于接口的描述,正确的是( C ) A 抽象类可以使用extends关键字来继承接口 B 接口可以被实例化 C 接口可以继承多个父接口 D 接口具有继承性,但不能继承父接口的所有属性和方法 3、下面的方法,当输入为2的时候返回值是多少?( C ) public int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; } return result; } A)0 B)2 C)4 D)10 4、下列叙述中,正确的是( A ) A)声明变量时必须制定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是“//” D)源文件中public类可以有0个或者多个 5、如下Java代码段,体现了( B )概念。 public void aMethod(String s){....} Java程序设计2 第1页共6页

public void aMethod(int i){.........} public void aMethod(int I,float f){.....} ..... A)多继承 B)重载 C)重写 D)多态 6、下列标识符(名字)命名原则中,正确的是( D ) A)类名的首字母小写 B)变量和方法名的首写字母大写 C)接口名的首写字母小写 D)常量完全大写 7、Java的核心包中,提供编程应用的基本类的包是( A ) A)https://www.wendangku.net/doc/ba3278348.html,ng B) Java.util C) Java.applet D) Java.rmi 8、Panel默认的布局管理器是( A ) A) FlowLayout B) GridLayout C) BorderLayout D) FlowLouLayout 9、File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( B ) File file = new File("C:\\test.dat"); if (file.exists()) { file.delete(); } A)创建C:\test.dat B) 删除C:\test.dat C) 打开C:\test.dat文件输出流 D) 移动C:\test.dat 10.下列常见的系统定义的异常中,哪个是输入、输出异常? ( B ) A)ClassNotFoundException B)IOException C)FileNotFoundException D)UnknownHostException 11、下列属于合法的Java标志符是( D ) A “ABC” B &5678 C +newer D saler 12、下列数组的初始化正确的是()b Java程序设计2 第2页共6页

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

JAVA语言程序设计期末考试试题及答案

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B ) 。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A)0 B) 1 C) 2 D) 3 2.设i 、j 为int 型变量名, a 为int 型数组名,以下选项中,正确的赋值语句是( B ) 。 A)i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是(B )。 A)多重的B) 单重的C) 线程的D) 不能继承 4.设有定义int i = 6 ; ,则执行以下语句后,i 的值为( C ) 。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。 A) interface B) package C) extends D) class 6.若已定义byte[ ] x= {11,22,33,-66} ; 其中O W k<3,则对x数组元素错误的引用是(C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后, ch1 的值是( B ) 。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B

《JAVA程序设计》试卷含答案

《JAVA 程序设计》试卷 《JAVA 程序设计》试卷 第1页,共6页 第2页,共6页 Java 程序设计 一、 填空题(要求将答案写在空白处,共11道小题,每空1分,共20分) 1、Java 的三大体系分别是______、______、______。 2、Java 程序的运行环境简称之为______。 3、Java 中的程序代码都必须在一个类中定义,类使用______关键字来定义。 4、布尔常量即布尔类型的两个值,分别是______和______。 5、在Java 中,byte 类型数据占______个字节,short 类型数据占______个字节,int 类型数据占______个字节,long 类型数据占______个字节。 6、若x = 2,则表达式 ( x + + )/3 的值是______。 7、若int a =2; a+=3;执行后,变量a 的值为______。 8、若int []a={12,45,34,46,23}; ,则a[2]= ______。 9、若int a[3][2]={{1,1},{2,2},{3,3}},则a[2][1]= ______。 10、 面向对象的三大特征是______、______和______。 11、 定义在类中的变量被称为______,定义在方法中的变量被称为______ 二、 选择题(将正确答案写在括号内,注意没有在题目中特别说明的均为单选题, 共10题,每题2分,共20分) 1、以下选项中,哪个用来编译源程序 A 、Javadoc B 、Java 运行工具 C 、Java 编译器 D 、Java 打包工具 2、Java 属于以下哪种语言? A 、机器语言 B 、 汇编语言 C 、高级语言 D 、以上都不对 3、下面哪种类型的文件可以在Java 虚拟机中运行? A 、.java B 、.jre C 、class D 、.exe 4、以下选项中,switch 语句判断条件可以接收的数据类型有哪些? (多选) A 、int B 、byte C 、char D 、short 5、假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个? A 、0 B 、2 C 、3 D 、5 6、下面的运算符中,用于执行除法运算是哪个? A 、% B 、\ C 、/ D 、* 7、下列语句哪些属于循环语句?(多选) A 、for 语句 B 、if 语句 C 、while 语句 D 、switch 语句 8、下面哪种写法可以实现访问数组arr 的第1个元素? A 、arr[0] B 、arr(0) C 、arr[1] D 、arr(1) 9、以下哪个选项可以正确创建一个长度为3的一维数组? A 、 new int [2]; B 、 new int[3][]; C 、 new int[3]; D 、 以上答案皆不对 10、请先阅读下面的代码。 int x = 1; int y = 2; if (x % 2 == 0) { y++; } else { y--; } System.out.println("y=" + y); 上面一段程序运行结束时,变量y 的值为下列哪一项? A 、3 B 、2 C 、1 D 、switch 语句 三、程序阅读题(要求将分析结果写在答题纸上,共4道小题,每题5分,共20分) 阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。 代码一: public class Test01 {

java程序设计模拟试题四

《Java 程序设计》模拟试题四 一、选择题(每小题2分,共20分) 1. 以下哪个是合法的标识符? ( C ) A. 7star B. else C. my$ D. super 2. 设有对象obj 具有属性a 则访问该属性的方法为( A )。 A. obj.a B. a.obj() C. a.obj D. obj.a() 3. 下列关于关键字this 和super 的说法正确的是( C )。 A. this 是调用父类的方法和变量 B. super 是调用本类中的方法 C. super 是调用父类的方法和变量 D. 没有区别 4. 以下关于重载(overload )的定义哪个正确?( B ) A.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输出参数。 B.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输入参数。 C.在一个类中,定义了多个具有相同名字的方法,并且这些方法有相同的输入参数。 D.在一个方法体中定义了多行代码。 5. 有如下代码段: int i=2; int j=3; if((i==2)||(j++==3)) i++; if((j==4)||(i++==3)) j++; System.out.printf("i="+i+"j="+j); 该程序运行的结果为: ( C )。 A .i=4,j=4 B.i=3,j=5 C .i=4,j=5 D.以上都不是 6. Java 程序用以下哪个命令可编译源文件? ( D ) A. Java B. appletviewer C. Javadoc D. Javac 7. 以下说法正确的个数为 ( B )。 ①构造方法中this 语句必须放在第一句; ②构造方法中super 语句不一定放在第一句; ③final 修饰的变量只能赋值一次; ④static 修饰的变量在该对象的一个实例中被修改,在另一个实例中也可以取得该变量的新值。 A. 1 B. 2 C. 3 D. 4 8. 下列修饰词,可以用来定义接口中方法的为 ( C )。 A. private B. protected C. public D.以上都不是 9. 关于继承的说法正确的是( B )。 A.子类将继承父类所有的属性和方法。 B.子类将继承父类的非私有属性和方法。 C.子类只继承父类public 方法和属性 D.子类只继承父类的方法,而不继承属性 10. 下列关于Java 程序中数组的使用说法正确的是( A )。 A.数组必须在使用前定义 B.同一个数组中的元素类型必须不同 C.数组是一种特殊的变量不需在使用前声明 D.数组的元素不可以是数组 评分标准:本题为单项选择题,每小题2分,共10道小题,共20分;每小题选对给2分,选错、多选、不选不给分也不扣分。 二、填空题(每空1分,共10分) 1. Java 的特点有: 简单性、可靠性和安全性、面向对象、平台无关和解释执行、分布式、多线 程等 (不少于4条)。 评分标准:只要写出四条即可给1分,不写或少于四条不给分,也不扣分。 2. Java 的注释有以下三种: 单行注释(//)、多行注释(/* */)、文档注释(/** */) 。 评分标准:本题答案不唯一,只要写出3条即可给1分,不写或少于3不给分,也不扣分。备注:不写汉字,只写括号中的符号也算正确,或者汉字和符号的组合也对。 3. 建立文件”file.txt ”的字节输入流的语句是 FileInputStream in=new FileInputStream (”file.txt ”) 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:本题答案不唯一,只要是表达出使用字节流类进行文件的字节输入即可,变量名可以不同,只要符合标识符的定义即可。 4. Java 中所有类都是类 Object 的子类。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:首字母必须大写,否则算错不给分,写对象也算正确。 5. Throwable 的两个直接子类是 Error 、 Exception ,在方法头部声明方法可能会 抛出异常使用 throws 关键字。 评分标准:本题正确给3分,不正确或不写、错误不给分也不扣分。备注:Error 、Exception 的首字母必须大写,否则算错不给分;写出对应的汉语也算正确。 6. abastract 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在 抽象类中定义。 final 方法是不能被当前类的子类重新定义的方法。 评分标准:本题正确给2分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,抽象和最终。 7. 按照功能组织类和接口的名称空间称为 package 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,包。 三、简答题(每小题5分,共20分) 1. 有如下程序: Moveable.java 文件中有如下代码 interface Moveable{ void move(int x,int y); void jump(int x, int y); } Monkey.java 中如下代码: class Monkey implements Moveable{ public void jump(int x,int y){ System.out.printf(“I am jumping from %d to %d ”,x,y); } 专业班级: 姓名: 学号: …………………………密………………………………封………………………………线…………………………

非常经典的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】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: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++) {

Java程序设计试题及复习资料

《JAVA 程序设计》试卷(A 卷) (B) j avac.exe (D )javaw.exe 2. 以下作为Java 程序入口的 main 方法声明正确的( )。 (A) public void main(String args[]) (B) public int main(String args[]) (C) public static void main(String args[]) (D) public static int main(String args[]) 3. 以下标识符错误的是( )。 (A )Public ( B )张三 (C ) class ( D ) main 4. java 中定义字符串String s=”pzhu ”下面操作可以取得字符串长度的是( )。 (A )s.length () ( B )s.length ( C )s.size () ( D ) length (s ) 5. 如下定义数组,操作正确的是( )。 int a[]={1,2,3}; (A )a[3]=100 (B )a[0].length (C )a++ ( D )a.length 6. 如下定义二维数组操作错误的是( )。 int a[][]={{1,2},{3}}; (A )a[0][1]=200 ( B )a[0].length (C )a[1][1]=100 (D )a.length 7.以下数据类型存储空间最大的是( ) 。 (A ) byte ( B ) long (C ) float (D ) c har 8.面向对象的三大特性,不包括如下 ( )。 (A )异常 (B )封装 (C ) 继承 (D ) 多态 9、关于类的定义以下说法错误( )。 (A )类定义使用class 关键字 (B ) 每个类 美中必须有 个 m ain 方法 (C )一个包可以包含多个类 (D )java 中所有类都是 Object 类的子类 10. 关于构造方法以下说法错误的是 ( )。 (A )构造方法名必须与类名一致 (E )构造方法可以重载 (C )构造方法是通过 new 来调用 (D )每个类都必须编写构造方法代码 11. 关于继承如下说法错误的是( )。 (A ) Java 是单继承的 (E )通过extends 来定义继承 (C )所有父类方法都可以被 override 的 (D )继承呈现的是is a 的关系 12. 以下代码执行的结果是()。 System.out.println ("攀枝花学院 pzhu".length ()); (A )编译错误 (E )运行错误 (C) 9 (D) 14 13.用来存储键值对的容器是 ( )。 (A ) ArrayList ( B ) LinkedList (C ) H ashSet (D ) HashMap 14、java 中用来抛出异常的关键字是( )。 (A) try (B) catch (C) throw (D) throws 15.关于fin ally 块中的代码,以下说法不正确的是( )。 (A ) try 块中的return 语句会中断fin ally 块中语句的执行 、选择题(每小题 1. JDK 提供的编译器是( )。 2分,共40分。) (A )java.exe (C )javap.exe

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

Java程序设计试卷及答案

Java程序语言试卷(A) 答题卡: 一题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________ 6.___________________________________________________________ 四题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________五题:

Java程序设计预赛模拟题-2

一、单选题 1.Java JDK中调试器的命令是( )。 A. javac B. java C. jdb D. javah 2.运行jar文件中class文件需要在java命令后面加的参数为()。 A. -cp B. -g C. -d D. -verbose 3.下面哪项在java中是不合法的标识符?() A. $user B. point C. You&me D. _endline 4.下列哪一项不是Java保留字?() A. sizeof B. super C. abstract D. break 5.下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变? () A. BorderLayout B. CardLayout C. GridLayout D. FlowLayout 6.下面哪些java语句会导致无限循环?( ) I. while (true) i = 0; II. while (false) i = 1; III. while (!false) i = 0; A. III only B. I and III only C. I only D. I, II and III 7.下面是Example.java文件的完整代码,请找出会产生编译错误的行()。 1) class BaseClass { 2) public String str; 3) public BaseClass(){ 4) System.out.println(“ok”);} 5) public BaseClass(String s){ 6) str=s;}} 7) class SubClass extends BaseClass{ 8) } 9) public class Example{ 10) public void method(){ 11) SubClass s=new SubClass(“hello”); 12) BaseClass b=new BaseClass(“world”); 13) } 14) } A. 7 B. 10 C. 11 D.12 8.可以在下面代码段point x处写入的是()。 //point x public class Interesting{ //do something } A. String str; B. static int PI=3.14; C. public class MyClass{//do other thing…} D. import java.awt.*; 9.下面关于事件监听的说明,哪一个语句是正确的?() A. 所有组件,都不允许附加多个监听器 B. 如果多个监听器加在一个组件上,那么事件只会触发一个监听器 C. 组件不允许附加多个监听器

大学《java程序设计》考试题库及答案

若有定义int a=2,b=2; 则表达式(a++)+(++b) 的值是( )。 A. 5 监听器接口的方法返回值的类型是()。C. void 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 D. init() 以下哪个不是Java的原始数据类型() B. Boolean 向Applet传递参数的正确描述是()。C. C. PARAM name="age,value=20" 阅读下列代码; public class Test{ String s="One World One Dream"; public static void main(String args[]){ System.out.println(s); } } 其运行结果是_ C. 编译时出错//除非创建Text类的对象 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()。 A. p.add(b,"South"); 编译和运行下面的应用程序,并在命令行界面输入12345 ,则回车后屏幕输出的结果是( )。public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new I nputStreamReader(System.in)); String str=buf.readLine(); int x=Integ er.parseInt(str); System.out.println(x/100); } } B. 123 构造函数何时被调用?() B. 创建对象时 以下哪项可能包含菜单条()。 D. Frame

相关文档