实验一 Java编程基础复习

1.输入三个整数x、y、z,对其进行排序,使得x<y<z。。
源程序:

import java.util.Scanner;
public class t1 {

	public static void main(String[] args) {
		Scanner a1 = new Scanner(System.in);
		System.out.println("请输入三个数");
		int x = a1.nextInt();
		int y = a1.nextInt();
		int z = a1.nextInt();
		a1(x,y,z);
		
		
	}
	static void a1(int x,int y,int z) {
		int i = 0;
		if(x>y) {
			i=x;x=y;y=i;
		}
		if(y>z) {
			i=y;y=z;z=i;
		}
		System.out.println(x+"<"+y+"<"+z);
	}

}

2.输入年月,显示这个月的天数。
源程序:

import java.util.Scanner;
public class t2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s2 = new Scanner(System.in);
		System.out.println("请输入年月");
		int a = s2.nextInt();
		int b = s2.nextInt();
		switch (b) {
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:	
			System.out.println("这个月有31天");
			break;
		case 4:
		case 6:	
		case 9:
		case 11:
			System.out.println("这个月有30天");
			break;
		case 2:
			if(a%4 ==0 & a%100 !=0)
				System.out.println("这个月有29天");
			else if(a%400 ==0)
				System.out.println("这个月有29天");
			else
				System.out.println("这个月有28天");
		}
	}

}

3.数字反转
从键盘输入一个三位整数n,将整数n的个位、十位、百位倒序生成一个新数字并进行输出。例如输入521,则输出125。
源程序:

import java.util.Scanner;
public class t3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s3 = new Scanner(System.in);
		System.out.println("请输入一个三位数");
		int a = s3.nextInt();
		int i1 = a%100%10;
		int i2 = a%100/10;
		int i3 = a/100;
		System.out.print(i1);
		System.out.print(i2);
		System.out.print(i3);
	}

}

4.猜数游戏
编写一个猜数字游戏,将玩家猜测的数字与系统随机生成的数字(0~100之间)比较,在玩家猜测的过程中,给出“sorry,您猜大了!”或“sorry,您猜小了!”的提示,直到猜中为止。
源程序:

import java.util.Random;
import java.util.Scanner;
public class t4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a = (int)(Math.random()*100);
		System.out.println("请猜数");
		Scanner s4 = new Scanner(System.in);
		int b = s4.nextInt();
		while(a!=b) {
			if(a>b) 
				System.out.println("sorry,您猜小了!");
			else 
				System.out.println("sorry,您猜大了!");
			System.out.println("请猜数");
			b = s4.nextInt();
		}
		if(a==b) {
			System.out.println("恭喜您,猜对了!");
	}
	}
}

5.输出九九乘法表,如下图所示。

源程序:

public class t5 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i =1;i<10;i++) {
			for(int j =1;j<i+1;j++) 
				System.out.print(j+"*"+i+"="+i*j+"   ");
			System.out.println();		
		}
	}
}

6.水仙花数是指个位、十位和百位3个数的立方和等于这个三位数本身的数,编写程序求出所有的水仙花数。(借用自定义方法实现)
源程序:

public class t6 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i = 100;i<1000;i++) {
			int a=i/100;
			int b=i%100/10;
			int c=i%100%10;
			if(a*a*a+b*b*b+c*c*c == i)
				System.out.println(i+"是水仙花数");
		}
	}
}

7.小明非常很喜欢数字9,包括那些数位上包含数字9 的数。如果一个数的数位包含数字9,小明将它称为洁净数。 请问在整数 1 至 n(n<1000) 中,洁净数有多少个?
【输入格式】 输入为一行整数,即问题中的n。
【输出格式】 输出一行包含一个整数,表示答案。
【样例输入】
30
【样例输出】
3
【完整的输入输出样例】
30 3
请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 等多余内容。

源程序:

import java.util.Scanner;
public class t7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s7 = new Scanner(System.in);
		int a = s7.nextInt();
		int j = 0;
		for (int i = 1; i <= a; i++) {
			String b = String.valueOf(i);
			if (b.indexOf('9') >= 0) {
				j++;
			}

		}
		System.out.println(j);

	}

}

8.定义一个整型数组,随机产生15个0-100之间的整数存入该数组。任选一种排序算法对其进行升序排列,然后以每行5个数据的格式进行输出。
源程序:

public class t8 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//创建数组
		int[] a = new int[15];
		for(int i=0;i<15;i++) {
			a[i] = (int)(Math.random()*100);
		}
		System.out.println("原始数据:");
		for(int i=0;i<15;i++)
			System.out.print(a[i]+"\t");
		//排序
		int t;
		for(int i=0;i<a.length-1;i++) {
			for(int j=i+1;j<a.length;j++) {
				if(a[i]>a[j]) {
					t=a[i];a[i]=a[j];a[j]=t;
				}
			}
		}
		System.out.println("\n"+"排序后:");
		for(int i=0;i<15;i++)
			System.out.print(a[i]+"\t");
	}	

}

9.显示输出杨辉三角形:

源程序:

import java.util.Scanner;
public class t9 {
	public static void main(String[] args) {
		System.out.println("输入一个数");
		Scanner s9 = new Scanner(System.in);
		int b = s9.nextInt();
		int a[][] = new int[b][];
		for(int i=0;i<b;i++) {
			a[i]=new int[i+1];
		}
		for(int i=0;i<b;i++) {
			a[i][0]=1;
			a[i][i]=1;
		}
		for(int i=2;i<b;i++) {
			for(int j=1;j<i;j++)
				a[i][j]=a[i-1][j]+a[i-1][j-1];
		}
		for(int i=0;i<a.length;i++) {
			for(int j=0;j<a[i].length;j++)
				System.out.print(a[i][j]+"\t");
		System.out.println();
		}

			
	}
}

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值