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

}

【程序41】

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? public class lianxi41 {

public static void main (String[] args) { int i,m,j=0,k,count; for(i=4;i<10000;i+=4) { count=0; m=i;

for(k=0;k<5;k++) {

j=i/4*5+1; i=j;

if(j%4==0) count++; else break; } i=m; if(count==4)

{System.out.println(\原有桃子 \个\break;} } } }

【程序42】 题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

//题目错了!809x=800x+9x+1 这样的方程无解。去掉那个1就有解了。 public class lianxi42 {

public static void main (String[] args) { int a=809,b,i; for(i=10;i<13;i++) {b=i*a ;

if(8*i<100&&9*i>=100)

System.out.println (\} }

【程序43】

题目:求0—7所能组成的奇数个数。 //组成1位数是4个。 //组成2位数是7*4个。

精选

//组成3位数是7*8*4个。 //组成4位数是7*8*8*4个。 //......

public class lianxi43 {

public static void main (String[] args) { int sum=4; int j;

System.out.println(\组成1位数是 \个\sum=sum*7;

System.out.println(\组成2位数是 \个\for(j=3;j<=9;j++){ sum=sum*8;

System.out.println(\组成\位数是 \个\} } }

【程序44】

题目:一个偶数总能表示为两个素数之和。 //由于用除sqrt(n)的方法求出的素数不包括2和3, //因此在判断是否是素数程序中人为添加了一个3。 import java.util.*; public class lianxi44 {

public static void main(String[] args) { Scanner s = new Scanner(System.in); int n,i; do{

System.out.print(\请输入一个大于等于6的偶数:\ n = s.nextInt();

} while(n<6||n%2!=0); //判断输入是否是>=6偶数,不是,重新输入 fun fc = new fun();

for(i=2;i<=n/2;i++){

if((fc.fun(i))==1&&(fc.fun(n-i)==1)) {int j=n-i;

System.out.println(n+\ } //输出所有可能的素数对 } } }

class fun{

public int fun (int a) //判断是否是素数的函数 {

int i,flag=0;

if(a==3){flag=1;return(flag);} for(i=2;i<=Math.sqrt(a);i++){

精选

if(a%i==0) {flag=0;break;} else flag=1;}

return (flag) ;//不是素数,返回0,是素数,返回1 } }

//解法二

import java.util.*; public class lianxi44 {

public static void main(String[] args) { Scanner s = new Scanner(System.in); int n; do{

System.out.print(\请输入一个大于等于6的偶数:\ n = s.nextInt();

} while(n<6||n%2!=0); //判断输入是否是>=6偶数,不是,重新输入 for(int i=3;i<=n/2;i+=2){ if(fun(i)&&fun(n-i)) {

System.out.println(n+\ } //输出所有可能的素数对 } }

static boolean fun (int a){ //判断是否是素数的函数 boolean flag=false;

if(a==3){flag=true;return(flag);} for(int i=2;i<=Math.sqrt(a);i++){ if(a%i==0) {flag=false;break;} else flag=true;} return (flag) ; } }

【程序45】

题目:判断一个素数能被几个9整除

//题目错了吧?能被9整除的就不是素数了!所以改成整数了。 import java.util.*;

public class lianxi45 {

public static void main (String[] args) { Scanner s = new Scanner(System.in); System.out.print(\请输入一个整数:\ int num = s.nextInt(); int tmp = num; int count = 0;

for(int i = 0 ; tmp%9 == 0 ;){ tmp = tmp/9;

精选

count ++; }

System.out.println(num+\能够被 \个9整除。\ } }

【程序46】

题目:两个字符串连接程序 import java.util.*; public class lianxi46 {

public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print(\请输入一个字符串:\ String str1 = s.nextLine();

System.out.print(\请再输入一个字符串:\ String str2 = s.nextLine(); String str = str1+str2;

System.out.println(\连接后的字符串是:\ } }

【程序47】

题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 import java.util.*; public class lianxi47 {

public static void main(String[] args) { Scanner s = new Scanner(System.in); int n=1,num; while(n<=7){

do{

System.out.print(\请输入一个1--50之间的整数:\ num= s.nextInt(); }while(num<1||num>50); for(int i=1;i<=num;i++) {System.out.print(\ }

System.out.println(); n ++; } } }

【程序48】

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 import java.util.*;

精选

public class lianxi48 {

public static void main(String args[]) { Scanner s = new Scanner(System.in); int num=0,temp; do{

System.out.print(\请输入一个4位正整数:\ num = s.nextInt();

}while (num<1000||num>9999); int a[]=new int[4];

a[0] = num/1000; //取千位的数字 a[1] = (num/100); //取百位的数字 a[2] = (num/10); //取十位的数字 a[3] = num; //取个位的数字 for(int j=0;j<4;j++) {

a[j]+=5; a[j]%=10; }

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

temp = a[j]; a[j] = a[3-j]; a[3-j] =temp; }

System.out.print(\加密后的数字为:\for(int j=0;j<4;j++) System.out.print(a[j]); } }

【程序49】

题目:计算字符串中子串出现的次数 import java.util.*;

public class lianxi49 {

public static void main(String args[]){ Scanner s = new Scanner(System.in);

System.out.print(\请输入字符串:\ String str1 = s.nextLine();

System.out.print(\请输入子串:\ String str2 = s.nextLine(); int count=0;

if(str1.equals(\ {

System.out.println(\你没有输入字符串或子串,无法比较!\ System.exit(0);

精选