java基础练习

【程序1】

題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?

import java.util.Scanner;

public class No1 {

	public static void main(String[] args) {
		System.out.println("输出几个月之前的兔子对数:");
		Scanner s=new Scanner(System.in);
		int a=s.nextInt();
		int[] arr=new int[a+1]; 
		for(int i=1;i<=a;i++){
			if(i==1||i==2){
				arr[1]=arr[2]=1;
			}else{
				arr[i]=arr[i-1]+arr[i-2];
			}
			
		}
		for(int i=1;i<=a;i++){
			System.out.println("第"+i+"月的兔子对数为"+arr[i]);
		}
	
	}

}
【程序2】 
题目:判断101-200之间有多少个素数,并输出所有素数。 

public class No2 {
	public static boolean isPrime(int i){
		for(int j=2;j<i/2;j++){
			if((i%j)==0){
				return false;
			}
		}
		return true;
	}
	public static void main(String[] args) {
		int count=0,sum=0;
		for(int i=101;i<=200;i++){
			if(isPrime(i)){
				count++;
				System.out.println(i);
				sum+=i;
			}
		}
		System.out.println("101~200总共"+count+"个素数");
		 System.out.println("和为"+sum);
	}

}
【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:

153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

public class No3 {
	public static void main(String[] args) {
		int a,b,c;
		for(int i=100;i<=999;i++){
			a=i%10;
			b=(i%100)/10;
			c=i/100;
			if(i==a*a*a+b*b*b+c*c*c){
				System.out.println(i);
			}
		}

	}

}

【程序4】 
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 

public class No4 {
	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		int n=reader.nextInt();
		decompose(n);

	}
	private static void decompose(int n){
		System.out.print(n+"=");
		for(int i=2;i<n+1;i++){
			while(n%i==0&&n!=i){
				n=n/i;
				System.out.print(i+"*");
			}
			if(n==i){
				System.out.print(i);
				break;
			}
		}
	}

}
【程序5】 

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下
的用C表示。 

import java.util.Scanner;

public class No5 {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		int score=reader.nextInt();
		if(score>=90)
			System.out.println("A");
		else if(score<90 && score>=60)
			System.out.println("B");
		else
			System.out.println("C");
	}

}
【程序6】 
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 

import java.util.Scanner;

public class No6 {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int m=in.nextInt();
		int n=in.nextInt();
		if(m<n){
			int f=m;
			m=n;
			n=f;
		}
		int x=1,y;
		for(int i=1;i<=n;i++){
			if((m%i==0)&&(n%i==0)){
				x=i;
			}
		}
		y=m*n/x;
		System.out.println("最大公约数是:"+x+"最小公倍数是:"+y);
	
	}

}
【程序7】 

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 

import java.util.Scanner;
public class No7 {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str=in.nextLine();
		char[] ch=str.toCharArray();
		int letter=0,digit=0,space=0,others=0;
		for(int i=0;i<ch.length;i++){
			if(Character.isLetter(ch[i]))
				letter++;
			else if(Character.isDigit(ch[i]))
				digit++;
			else if(Character.isSpaceChar(ch[i]))
				space++;
			else
				others++;
		}
		System.out.println("字母有:"+letter+"个");
		System.out.println("数字有:"+digit+"个");
		System.out.println("空格有:"+space+"个");
		System.out.println("其他有:"+others+"个");
	}

}
【程序8】 
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
几个数相加有键盘控制。 

import java.util.Scanner;

public class No8 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		System.out.println("输入一个0到9的数:");
		int a=in.nextInt();
		System.out.println("输入一个整数:");
		int b=in.nextInt();
		int  p=0,s=0;
		for(int i=1;i<=b;i++){
			p+=a*Math.pow(10, i-1);
			s+=p;
		}
		System.out.println(s);

	}

}
【程序9】 
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完
数。 

public class No9 {

	public static void main(String[] args) {
		int s;
		for(int i=2;i<1000;i++){
			s=0;
			for(int j=1;j<i;j++){
				if(i%j==0)
					s+=j;
			}
			if(s==i)
				System.out.println(i);
		}
	}

}

【程序10】 
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
少米?第10次反弹多高? 

public class No10 {
	public static void main(String[] args) {
		double h=100,s=100;
		for(int i=1;i<10;i++){
			h/=2;
			s+=2*h;
		}
		h/=2;
		System.out.println("经过:"+s+"反弹"+h);
	}

}

【程序11】 
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 

public class No11 {
	public static void main(String[] args) {
		int count=0;
		for(int i=1;i<5;i++){
			for(int j=1;j<5;j++){
				if(i!=j){
				for(int k=1;k<5;k++){
					if(i!=k&&j!=k){
							System.out.print(i);
							System.out.print(j);
							System.out.println(k);
							count++;
					}
							}
				}
			}
		}
		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%提成,从键盘输入当月利润I,求应发放奖金总数? 

import java.util.Scanner;

public class No12 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		double l=in.nextDouble();
		double s;
		if(l<=100000){
			s=l*0.1;
		}else if(100000<l&&l<=200000){
			s=10000+(l-100000)*0.075;
		}else if(200000<l&&l<=400000){
			s=10000+7500+(l-200000)*0.05;
		}else if(400000<l&&l<=600000){
			s=10000+7500+10000+(l-400000)*0.03;
		}else if(600000<l&&l<=1000000){
			s=10000+7500+10000+6000+(l-600000)*0.015;
		}else
			s=10000+7500+10000+6000+6000+(l-1000000)*0.01;

		System.out.println(s);
	}

}
【程序13】 
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 
public class No13 {
	private static boolean isPerfect(int s){
		for(int i=0;i<s;i++){
			if(s==i*i)
				return true;
		}
		return false;
			
	}

	public static void main(String[] args) {
		int a=1;
		int m,n;
		while(true){
			m=a+100;
			n=a+168;
			if(isPerfect(m)&&isPerfect(n))
				System.out.println(a);
			a++;
		}
	}

}

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

import java.util.Scanner;

public class No14 {
	static int[] arr={31,28,31,30,31,30,31,31,30,31,30,31};
	private static boolean isLeapYear(int year){
		return (year%4==0&&year%100!=0)||(year%400==0);
	}
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int year=in.nextInt();
		int month=in.nextInt();
		int day=in.nextInt();
		int s=0;
		if(isLeapYear(year)){
			arr[1]=29;
		}
		for(int i=0;i<month-1;i++)
			s+=arr[i];
		s+=day;
		System.out.println(s);
			
	}

}
【程序15】 
题目:输入三个整数x,y,z,请把这三个数由小到大输出。 
import java.util.Scanner;
public class No15 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int x=in.nextInt();
		int y=in.nextInt();
		int z=in.nextInt();
		if(x>y){
			int m;
			m=y;
			y=x;
			x=m;
		}
		if(x>z){
			int m;
			m=z;
			z=x;
			x=m;
		}
		if(y>z){
			int m;
			m=z;
			z=y;
			y=m;
		}
		System.out.println(x+" "+y+" "+z);
	}

}

【程序16】 
题目:输出9*9口诀。 

public class No16 {
	public static void main(String[] args) {
		for(int i=1;i<10;i++){
			for(int j=1;j<=i;j++){
				System.out.print(i+"*"+j+"="+i*j+" ");
			}
			System.out.println();
		}
	}

}
【程序17】 
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩
下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 
public class No17 {
	public static void main(String[] args) {
		int s=1;
		int day=10;
		for(int i=10;i>0;i--){
			System.out.println("第"+day+"天,有桃子"+s+"颗");
			s=(s+1)*2;
			day--;
		}
	}

}
【程序18】 
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向

队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 

public class No18 {
	public static void main(String[] args) {
		char a,b,c;
		for(a='x';a<='z';a++){
			for(b='x';b<='z';b++){
				for(c='x';c<='z';c++){
					
				if(a!=b&&a!=c&&b!=c){
					if(a!='x'&&c!='x'&&c!='z')
						System.out.println("aVS"+a+" bVS"+b+" cVS"+c);
				}
				}
				
			}
		}
	}

}
【程序19】 
题目:打印出如下图案(菱形) 
    * 
   *** 
 ****** 
******** 
 ****** 
  *** 
   * 

public class No19 {
	public static void main(String[] args) {
		System.out.println("        *       ");
		System.out.println("       ***      ");
		System.out.println("      *****     ");
		System.out.println("     *******    ");
		System.out.println("      *****     ");
		System.out.println("       ***      ");
		System.out.println("        *       ");
	}

}
【程序20】 
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 

public class No20 {

	public static void main(String[] args) {
		double fenzi=2,fenmu=1,s=0;
		double[] arr=new double[20];
		for(int i=0;i<arr.length;i++){
			arr[i]=fenzi/fenmu;
			double m=fenzi;
			fenzi=fenmu+fenzi;
			fenmu=m;
		}
		for(int i=0;i<arr.length;i++){
			s+=arr[i];
		}
		System.out.println(s);
		
	}

}
【程序21】 

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

public class No21 {
	public static void main(String[] args) {
		long  s=0,m=1;
		for(int i=1;i<=20;i++){
			m*=i;
			s+=m;
		}
		System.out.println(s);
	}

}
【程序22】 
题目:利用递归方法求5!。 

public class No22 {
	private static int f(int i){
		if(i>0)	
			return i*f(i-1);
		return 1;
	}
	public static void main(String[] args) {
		System.out.println(f(5));
	}

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

public class No23 {

	private static int f(int i){
		if(i==1){
			return 10;
		}else
			return 2+f(i-1);
	}
	public static void main(String[] args) {
		System.out.println(f(5));

	}

}

【程序24】 
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 
import java.util.Scanner;
public class No24 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str=in.nextLine();
		char[] ch=str.toCharArray();
		System.out.println(ch.length);
		for(int i=ch.length-1;i>=0;i--){
			System.out.print(ch[i]);
		}
	
	}

}

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

import java.util.Scanner;
public class No25 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		System.out.println("输入一个五位数:");
		String str=in.next();
		char[] a=str.toCharArray();
		if(a[0]==a[4]&&a[1]==a[3]){
			System.out.println("是回文数");
		}else{
			System.out.println("不是回文数");
		}
	}

}
【程序26】 
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。 
import java.util.Scanner;
public class No26 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str=in.nextLine();
		char[] a=str.toCharArray();
		switch(a[0]){
		case 'M':
			System.out.println("星期一");
			break;
		case 'T':
			if(a[1]=='u'){
				System.out.println("星期二");
			}else{
				System.out.println("星期四");
			}break;
		case 'W':
			System.out.println("星期三");
			break;
		case 'F':
			System.out.println("星期五");
			break;
		case'S':
			if(a[1]=='a'){
				System.out.println("星期六");
			}else{
				System.out.println("星期天");
			}break;
		default:
			System.out.println("错误");
		}
			
	}

}
【程序27】 
题目:求100之内的素数

public class No27 {
	private static boolean isPrime(int i){
		for(int j=2;j<=i/2;j++){
			if(i%j==0)
				return false;
		}
		return true;
	}
	public static void main(String[] args) {
		for(int i=2;i<100;i++){
			if(isPrime(i)){
				System.out.println(i);
			}
		}
	}

}
【程序28】 
题目:对10个数进行排序 

import java.util.Scanner;
public class No28 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int[] a=new int[10];
		for(int i=0;i<10;i++){
			a[i]=in.nextInt();
		}
		for(int j=10;j>0;j--){
		for(int i=0;i<j-1;i++){
			if(a[i]>a[i+1]){
				int temp=a[i];
				a[i]=a[i+1];
				a[i+1]=temp;
			}
		}}
		for(int i=0;i<10;i++){
		System.out.print(a[i]+" ");}
	}

}
【程序29】 
题目:求一个3*3矩阵对角线元素之和 

import java.util.Scanner;
public class No29 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int s=0;
		int[][] a=new int[3][3];
		for(int i=0;i<3;i++){
			for(int j=0;j<3;j++)
				a[i][j]=in.nextInt();
		}
		for(int i=0;i<3;i++)
			s+=a[i][i];
		System.out.println(s);
	}

}
【程序30】 
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 

import java.util.Scanner;
public class No30 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int a=in.nextInt();
		int[] arr={0,10,20,30,40,50,60,70,80,90};
		int[] ann=new int[11];
		for(int i=0;i<10;i++){
			if(a<arr[0]){
				ann[0]=a;
				for(int j=0;j<10;j++)
					ann[j+1]=arr[j];
			}
			if(a>=arr[i]){
				ann[i+1]=a;
				for(int j=0;j<=i;j++)
					ann[j]=arr[j];
				for(int j=i+2;j<11;j++)
					ann[j]=arr[j-1];
			}
		}
		for(int i=0;i<11;i++){
			System.out.print(ann[i]+" ");
		}
	}

}
【程序31】 

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

import java.util.Scanner;
public class No31 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str=in.nextLine();
		char[] a=str.toCharArray();
		for(int i=0;i<=(int)(a.length/2);i++){
		    char temp=a[i];
			a[i]=a[a.length-i-1];
			a[a.length-i-1]=temp;
		}
		for(int i=0;i<a.length;i++)
			System.out.print(a[i]);

	}

}
【程序32】 
题目:取一个整数a从右端开始的4~7位。 

import java.util.Scanner;
public class No32 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str=in.nextLine();
		System.out.println(str.substring(str.length()-7,str.length()-3));

	}

}
【程序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 No33 {
	    public static void main(String[] args) {
	        int [][] iArray = new int[10][]; 
	        for(int i=0;i<10;i++) {
	            iArray[i] = new int[i+1];
	            for(int k=9;k>i;k--){
	                System.out.print("  ");
	            }
	            for(int j=0;j<=i;j++) {
	                if(j==0 || j==i) {
	                    
	                    iArray[i][j]=1;
	                    System.out.print(iArray[i][j]+"   ");
	                }else{
	                    iArray[i][j]=iArray[i-1][j]+iArray[i-1][j-1];
	                    System.out.print(iArray[i][j]+"   ");
	                }
	            }
	            System.out.println();
	        } 
	    }
	}

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

public class No34 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int a=in.nextInt();
		int b=in.nextInt();
		int c=in.nextInt();
		if(a>b){
			int temp=a;
			a=b;
			b=temp;
			}
		if(a>c){
			int temp=a;
			a=c;
			a=temp;
				}
		if(b>c){
			int temp=b;
			b=c;
			c=temp;
					}
		System.out.println(a+" "+b+" "+c);

	}

}
【程序35】 
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 

import java.util.Scanner;

public class No35 {

	public static void main(String[] args) {
		System.out.println("请输入数组的大小");
		Scanner in=new Scanner(System.in);
		int size=in.nextInt();
		int[] a=new int[size];
		for(int i=0;i<size;i++)
			a[i]=in.nextInt();
		int max=0,min=0;
		for(int i=0;i<size;i++){
			if(a[i]>a[max]) max=i;
			
		}
		int temp=a[0];
		a[0]=a[max];
		a[max]=temp;
		for(int i=0;i<size;i++){
			if(a[i]<a[min]) min=i;
		}
		temp=a[size-1];
		a[size-1]=a[min];
		a[min]=temp;
		for(int i=0;i<size;i++){
		System.out.print(a[i]+" ");
		}
	}

}
【程序36】 
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 
import java.util.Scanner;
public class No36 {
	public static void main(String[] args) {
		System.out.println("请输入n:");
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		int[] a=new int[n];
		int[] b=new int[n];
		for(int i=0;i<n;i++){
			a[i]=in.nextInt();
		}
		System.out.println("请输入m:");
		int m=in.nextInt();
		for (int i = 0; i < n-m; i++){
			
		    b[i] = a[i+m];  
		}

		int j=0;
		for (int i = n-m; i <n; i++){
		    b[i] = a[j];  
		 j++;
		}
		System.out.print("移位后的数组:");
		for (int i = 0; i < n; i++){
		    System.out.print(b[i]+" ");
		}
			
		}
		
		
	}

【程序37】 
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下
的是原来第几号的那位。 


import java.util.Scanner;
public class No37 {
	 public static void main(String[] args) {

	        Scanner s = new Scanner(System.in);
	        System.out.print("请输入排成一圈的人数:");
	        int n = s.nextInt();
	        boolean[] arr = new boolean[n];

	        for (int i = 0; i < arr.length; i++) {
	            arr[i] = true;
	        } 

	        int leftCount = n;
	        int countNum = 0;
	        int index = 0;
	        while (leftCount > 1) {
	            if (arr[index] == true) {
	                countNum++;
	                if (countNum == 3) {
	                    countNum = 0;
	                    arr[index] = false;
	                    leftCount--;
	                }
	            }
	            index++;
	            if (index == n) {
	                index = 0;
	            }
	        }
	        for (int i = 0; i < n; i++) {
	            if (arr[i] == true) {
	                System.out.println("原排在第" + (i + 1) + "位的人留下了。");
	            }
	        }
	    }

}
【程序38】 
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 

import java.util.Scanner;
public class No38 {
	private static int f(String str){
		char[] a=str.toCharArray();
		return a.length;
	}
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str=in.nextLine();
		System.out.println(f(str));

	}

}
【程序39】 
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数
1/1+1/3+...+1/n

import java.util.Scanner;
public class No39 {

	private static double one(double n){
		double s=0;
		for(int i=2;i<=n;i+=2){
			s+=1.0/i;
		}
		return s;
	}
	private static double two(double n){
		double s=0;
		for(int i=1;i<=n;i+=2){
			s+=1.0/i;
		}
		return s;
	}
	public static void main(String[] args) {
		Scanner in =new Scanner(System.in);
		double n=in.nextInt();
		double t;
		if(n%2==0)
			t=one(n);
		else
			t=two(n);
		System.out.println(t);

	}

}

【程序40】 

题目:字符串排序。 


import java.util.Scanner;
public class No40 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str=in.nextLine();
		char[] a=str.toCharArray();
		for(int j=a.length;j>0;j--){
		for(int i=0;i<j-1;i++){
			if(a[i]>a[i+1]){
				char temp=a[i];
				a[i]=a[i+1];
				a[i+1]=temp;
			}
		}}
		for(int i=0;i<a.length;i++){
			System.out.print(a[i]);
		}

	}

}
【程序41】 
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一
个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中
,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 
public class No41 {
	public static void main(String[] args) {
		int x1,x2,x3,x4;
		for(int i=1;i<10000;i++){
			if(i%5==1){
				x1=4*(i-1)/5;
				if(x1%5==1){
					x2=4*(x1-1)/5;
					if(x2%5==1){
						x3=4*(x2-1)/5;
						if(x3%5==1){
							x4=4*(x3-1)/5;
							if(x4%5==1){
								System.out.println(i);
							}
						}
					}
				}
			}
		}
	}

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

public class No42 {
	public static void main(String[] args) {
		for(int i=10;i<100;i++){
			int a=8*i;
			int b=9*i;
			if(a<100&&b>100){
				System.out.println(i);
			}
		}
	}

}
【程序43】 
题目:求0—7所能组成的奇数个数。 

public class No43 {
	public static void main(String[] args) {
		int count=4;
		
		for(int i=0;i<=6;i++){
			count+=4*7*Math.pow(8, i);
		}
	    System.out.print(count);
		

	}

}

【程序44】 

题目:一个偶数总能表示为两个素数之和。

import java.util.ArrayList;
import java.util.Scanner;
public class No44 {
	private static boolean isPrime(int i){
		for(int j=2;j<i;j++){
			if(i%j==0)
				return false;
		}
		return true;
	}

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		System.out.println("请输入一个偶数:");
		int a=in.nextInt();
		if(a%2!=0)
			System.out.println("你输入的不是一个偶数");
		ArrayList<Integer> arr=new ArrayList<Integer>();
		for(int i=2;i<a;i++){
			if(isPrime(i)){
				arr.add(i);
			}
		}
		for(int i=0;i<arr.size();i++){
			for(int j=i;j<arr.size();j++){
				if(a==arr.get(i)+arr.get(j)){
					System.out.println("是"+arr.get(i)+"和"+arr.get(j)+"的和");
				}
				}
			}

	}

}

【程序45】 
题目:判断一个素数能被几个9整除 
- -没看懂题目什么意思
【程序46】 
题目:两个字符串连接程序 
import java.util.Scanner;
public class No46 {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str1=in.nextLine();
		String str2=in.nextLine();
		System.out.println(str1+str2);
	}

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

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		for(int i=0;i<7;i++){
			int n=in.nextInt();
			for(int j=0;j<n;j++){
				System.out.print("*");
			}
			System.out.println();
		}
		

	}

}
【程序48】 
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字
都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 
import java.util.Scanner;
public class No48 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int x=in.nextInt();
		int[] a=new int[4];
		a[0]=x/1000;
		a[1]=x/100-10*a[0];
		a[2]=(x%100-x%10)/10;
		a[3]=x%10;
		for(int i=0;i<4;i++){
			a[i]+=5;
			a[i]%=10;
		}
		int temp=a[0];
		a[0]=a[3];
		a[3]=temp;
		temp=a[1];
		a[1]=a[2];
		a[2]=temp;
		for(int i=0;i<4;i++){
			System.out.print(a[i]);
		}
		System.out.println();

	}

}
【程序49】 
题目:计算字符串中子串出现的次数 
import java.util.Scanner;

public class No49 {
	public static void main(String[] args) {
			Scanner in=new Scanner(System.in);
			String str = in.nextLine();
			String str1 = in.nextLine();
			int count = 0;
			int start = 0;
			while (str.indexOf(str1, start) >= 0 && start < str.length()) {
				count++;
				start = str.indexOf(str1, start)+ str1.length();
			}
			System.out.println(str1 + "在" + str + "出现的次数为" + count);
		}

	}

【程序50】 
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值