ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第四波十道练习题

2021-12-18 14:34:15  阅读:131  来源: 互联网

标签:练习题 arr int System public 十道 static println 第四


package cn.tedu.practice;
/* 题目:
 * 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "
 * 例如6=1+2+3.编程     找出1000以内的所有完数 */
public class PracticeDemo9{
	public static void main(String[] ages) {
		for(int i=1;i<=1000;i++) {
			int sum = 0;
			for(int j=1;j<i;j++) {
				if(i%j==0) {
					sum = sum + j;
				}
			}
			if(sum==i) {
				System.out.println(sum+"是完数");
			}
		}
	}
}
package cn.tedu.practice;
//题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
public class practice0 {
	public static void main(String[] ages) {
		int i = 0;
		for(int a=1;a<=4;a++) {
			for(int b=1;b<=4;b++) {
				for(int c=1;c<=4;c++) {
					if(a!=b && b!=c && a!=c) {
						i++;
						System.out.println(a+""+b+""+c);
					}
				}
			}
		}
		System.out.println("总共有"+i+"组数字");
	}
}
package cn.tedu.practice;
import java.util.Scanner;
/*题目:企业发放的奖金根据利润提成
 * 利润(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%提成
 * 从键盘输入当月利润,求应发放奖金总数?*/
public class practice1 {
	@SuppressWarnings("resource")
	public static void main(String[] ages) {
		//1.提示
		System.out.println("请输入本月利润");
		//2.接收
		double I = new Scanner(System.in).nextDouble();
		//3.声明
		double M;
		//4.计算
		if(I<=100000) {
			M = I*0.1;
		}else if(I>100000 && I<=200000) {
			M = 10000 +(I-100000)*0.075;
		}else if(I>200000 && I<=400000) {
			M = 10000+7500+(I-200000)*0.05;
		}else if(I>400000 && I<=600000) {
			M = 10000+7500+10000+(I-400000)*0.03;
		}else if(I>600000 && I<=1000000) {
			M = 10000+7500+10000+6000+(I-600000)*0.015;
		}else {
			M = 10000+7500+10000+6000+6000+(I-1000000)*0.01;
		}
		//5.输出
		System.out.println("本月应发的奖金总数为:"+M);
	}
}
package cn.tedu.practice;
import java.util.Scanner;
/*题目:输入某年某月某日,判断这一天是这一年的第几天*/
public class practice2 {
	static Scanner sc = new Scanner(System.in);
	public static void main(String[] ages) {
		int y,m,d;
		System.out.println("请输入年份");
		y = sc.nextInt();
		System.out.println("请输入月份");
		m = sc.nextInt();
		System.out.println("请输入日期");
		d = sc.nextInt();
		int sum;
		if(y%400==0 || y%4==0 && y%100!=0) {
			sum = leap(m,d);
		}else {
			sum = common(m,d);
		}
		System.out.println(y+"年"+m+"月"+d+"日,是"+y+"年的第"+sum+"天");
	}
	private static int common(int m, int d) {
		int sum = 0;
		int[] s = {31,28,31,30,31,30,31,31,30,31,30,31};
		for(int i=0;i<m;i++) {
			if(i == (m-1)) {
				sum = sum + d;
				return sum;
			}
			sum = sum + s[i];
		}
		return 0;//并不会执行的代码,用来避免编译错误
	}
	private static int leap(int m, int d) {
		int sum = 0;
		int[] s = {31,29,31,30,31,30,31,31,30,31,30,31};
		for(int i=0;i<m;i++) {
			if(i == (m-1)) {
				sum = sum + d;
				return sum;
			}
			sum = sum + s[i];
		}
		return 0;//并不会执行的代码,用来避免编译错误
	}
}
package cn.tedu.practice;
import java.util.Arrays;
//冒泡排序
public class practice3 {
	public static void main(String[] args) {
		int[] arr = new int[10];
		for(int i=0;i<arr.length;i++) {
			//Math.random()取值范围为[0,1)
			arr[i] = (int)(Math.random()*100);
		}
		System.out.println(Arrays.toString(arr));
		System.out.println("----------------------------------------------");
		for(int i=1;i<arr.length;i++) {
			for(int j=0;j<arr.length-i;j++) {
				if(arr[j]>arr[j+1]) {
					int k = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = k;
				}				
			}
			System.out.println(Arrays.toString(arr));
		}
		System.out.println(Arrays.toString(arr));
	}	
}
package cn.tedu.practice;
import java.util.Arrays;
//选择排序
public class practice4 {
	public static void main(String[] args) {
		int[] arr = new int[10];
		for(int i=0;i<arr.length-1;i++) {
			//Math.random()取值范围为[0,1)
			arr[i] = (int)(Math.random()*100);
		}
		System.out.println(Arrays.toString(arr));
		System.out.println("----------------------------------------------");
		for(int k=1;k<=arr.length;k++) {
			int max = arr[0];		
			int j = 0;
			for(int i=1;i<=arr.length-k;i++) {
				if(arr[i]>max) {
					max = arr[i];
					j = i;
				}
			}
			arr[j] = arr[arr.length-k];
			arr[arr.length-k] = max;
			System.out.println(Arrays.toString(arr));
		}
		System.out.println(Arrays.toString(arr));
	}	
}
package cn.tedu.practice;
import java.util.Arrays;
//插入排序
public class practice5 {
	public static void main(String[] args) {
		int[] arr = new int[10];
		for(int i=0;i<arr.length-1;i++) {
			//Math.random()取值范围为[0,1)
			arr[i] = (int)(Math.random()*100);
		}
		System.out.println(Arrays.toString(arr));
		System.out.println("----------------------------------------------");
		for(int i=1;i<arr.length;i++) {
			int max = arr[i];
			for(int j=i;j>0;j--) {			
				if(arr[j]<arr[j-1]) {
					arr[j] = arr[j-1];
					arr[j-1] = max;
				}
			}
			System.out.println(Arrays.toString(arr));
		}
		System.out.println(Arrays.toString(arr));
	}	
}
package cn.tedu.practice;
//题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 
public class practice6 {
	public static void main(String[] args) {
		for(int i=1;;i++) {
			if(qpfg(i) && qpfg(i+168)) {
				System.out.println("这个数是"+(i-100));
			}
		}
	}
	public static boolean qpfg(int num) {
		for(int i=1;i*i<=num;i++) {
			if(i*i==num) {
				return true;
			}
		}
		return false;
	}
}
package cn.tedu.practice;
import java.util.Scanner;
//输入三个整数x,y,z,请把这三个数由小到大输出? 
public class practice7 {
	static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		//1.提示与接收
		System.out.println("请输入第一个数");
		int a = sc.nextInt();
		System.out.println("请输入第二个数");
		int b = sc.nextInt();
		System.out.println("请输入第三个数");
		int c = sc.nextInt();
		//2.比较
		int d;
		if(a>b) {
			d = a;
			a = b;
			b = d;
		}
		if(a>c) {
			d = c;
			c = a;
			a = d;
		}
		if(b>c) {
			d = c;
			c = b;
			b = d;
		}
		System.out.println(a+" "+b+" "+c);
	}
}
package cn.tedu.practice;
import java.util.Arrays;
/*题目:两个乒乓球队进行比赛,各出三人
 * 甲队为a,b,c三人,乙队为x,y,z三人
 * 已抽签决定比赛名单。有人向队员打听比赛的名单
 * a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
 */
public class practice8 {
	public static void main(String[] args) {
		char[] m = {'a','b','c'};
		char[] n = {'x','y','z'};
		for(int i=0;i<m.length;i++) {
			for(int j=0;j<n.length;j++) {
				if(m[i]=='b' && n[j]=='x') {
					n[j] = n[i];
					n[i] = 'x';
					break;
				}else if(m[i]=='c' && n[j]=='y') {
					n[j] = n[i];
					n[i] = 'y';
					break;
				}
			}
		}
		System.out.println(Arrays.toString(m));
		System.out.println(Arrays.toString(n));
	}	
}

标签:练习题,arr,int,System,public,十道,static,println,第四
来源: https://blog.csdn.net/Jcskson/article/details/122011835

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有