當前位置:學者齋 >

IT認證 >SUN認證 >

JAVA模擬試題及答案

JAVA模擬試題及答案

Sun 公司在推出 Java 之際就將其作為一種開放的技術。那麼java作為一種編程語言,你對java編程題有把握嗎?下面跟yjbys小編一起來看看吧!

JAVA模擬試題及答案

  【程序1】

題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

這是一個菲波拉契數列問題

public class lianxi01 {

public static void main(String[] args) {

tln("第1個月的兔子對數: 1");

tln("第2個月的兔子對數: 1");

int f1 = 1, f2 = 1, f, M=24;

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

f = f2;

f2 = f1 + f2;

f1 = f;

tln("第" + 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<=(i); j++)

{

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

else { b = true; }

}

if(b == true) {count ++;tln(i );}

}

tln( "素數個數是: " + 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) {

tln(m+"是一個水仙花數"); }

}

}

}

  【程序4】

題目:利用條件運算符的嵌套來完成此題:學習成績> =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();

t( "請輸入一個成績: ");

x = Int();

grade = x >= 90 ? ’A’

: x >= 60 ? ’B’

:’C’;

tln("等級為:"+grade);

}

}

  【程序5】

題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。

/**在循環中,只要除數不等於0,用較大數除以較小的數,將小的一個數作為下一輪循環的大數,取得的餘數作為下一輪循環的較小的數,如此循環直到較小的數的值為0,返回較大的數,此數即為最大公約數,最小公倍數為兩數之積除以最大公約數。* /

import .*;

public class lianxi06 {

public static void main(String[] args) {

int a ,b,m;

Scanner s = new Scanner();

t( "鍵入一個整數: ");

a = Int();

t( "再鍵入一個整數: ");

b = Int();

deff cd = new deff();

m = (a,b);

int n = a * b / m;

tln("最大公約數: " + m);

tln("最小公倍數: " + 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;

}

}

  【程序6】

題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

import .*;

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();

String s = Line();

ch = arArray();

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 ++;

}

}

tln("數字個數: " + digital);

tln("英文字母個數: " + character);

tln("空格個數: " + blank);

tln("其他字符個數:" + other );

}

}

標籤: JAVA 試題 模擬
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-mo/itrz/sun/ezm033.html