Java基础编程练习题(50题及答案)2017 下载本文

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

【程序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(\ break; case 'W':

System.out.println(\ break; case 'F':

System.out.println(\ break; case 'T': {

System.out.println(\请输入星期的第二个字母:\ char ch2 = tw.getChar();

if(ch2 == 'U') {System.out.println(\

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

break; case 'S': {

System.out.println(\请输入星期的第二个字母:\ char ch2 = tw.getChar();

if(ch2 == 'U') {System.out.println(\

else if(ch2 == 'A') {System.out.println(\ 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; }

精选