JAVA编程题全集(100题及答案) 下载本文

} }

【程序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] + \ } } } }

【程序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

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项相加之和是: \} }

【程序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+\} }

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 + \是一个\位数。\ 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(\这不是一个回文数\