30天学会JAVA—练习题(2021韩顺平)——Day3

30天学会JAVA—练习题(2021韩顺平)——Day3,第1张

30天学会JAVA—练习题(2021韩顺平)——Day3 1. 判断一个整数是否是水仙花数(其 各个 位 上数字立方和 等于其本身。153=1^3 + 3^3 + 5^3)
public static void main(String[] args) {
	System.out.println("请输入一个三位数字,用于判断是否是水仙花数");
	
	Scanner sc = new Scanner(System.in);
	int s = sc.nextInt();
	int ge = s % 10; //个位
	int shi = s / 10 % 10; //十位
	int bai = s / 100; //百位

	if(s == ge*ge*ge + shi*shi*shi + bai*bai*bai){
		System.out.println(s + "是水仙花数");
	}else{
		System.out.println(s + "不是水仙花数");
	}
	sc.close();
}
2. 输出1-100之间的不能被5整除的数,每5个一行
public static void main(String[] args) {
	int count = 0;
	for(int i = 1; i < 100 ; i++){
		if(i % 5 != 0){
			System.out.print(i+ " ");
			count++;
			if(count % 5 == 0){
				System.out.println("");
			}
		}
	}
}
3. 输出小写的a-z以及大写的Z-A
public static void main(String[] args) {
	System.out.println("小写英文字母为"); 


	for(int i = 0 ; i <= 25 ;i++){	
		System.out.print((char)('a' + i) + " ");		
	}
	System.out.println("");
	System.out.println("大写英文字母为"); 
	for(int i = 0 ; i <= 25 ;i++){								
		System.out.print((char)('A' + i)+ " ");
	}
}
4. 求出1-1/2+1/3-1/4……1/100的和
public static void main(String[] args) {
	double sum = 0;
	for(int i = 1; i <=100; i++){
		sum += (Math.pow(-1, i-1)) * 1/i;
	}
	System.out.println(sum);
}
5. 求1+(1+2)+(1+2+3)+……(1+2+3+…+100)的结果
public static void main(String[] args) {
	int sum = 0;

	for(int i = 1 ; i <= 100; i++){
		for( int j = 1; j <= i; j++){
			sum += j;
		}
	}
	System.out.println(sum);				
}
6. 创建一个char类型的26个元素的数组,分别放置’A’-‘Z’。使用for循环访问所有元素并打印出来。
public static void main(String[] args) {
	char[] c = new char[26];
	for(int i = 0; i < c.length; i++){
		c[i] = (char)('A' + i);
		System.out.print(c[i] +" ");
	}		
}
7. 请求出一个数组int[]的最大值,并得到对应的下标。
public class Test01 {
	public  int max(int[] a){
		int max = 0;
		
		for(int i = 0; i <= a.length/2 ; i++){
			max = Math.max(a[i], a[a.length- 1 -i]);
		}
		System.out.println(max);
		return max;
	}
	
	public static void main(String[] args) {
		Test01 t = new Test01();
		int[] a = new int []{1,3,3,9,8,5,3};		
		t.max(a);		
	}
}
8. 求一个数组的和 和 平均值。
public class Test01 {
	public  int sum_avg(int[] a){
		int sum = 0;
		int avg = 0;
		
		for(int i = 0; i <= a.length - 1 ; i++){
			sum += a[i];
			avg = sum/a.length;
		}
		System.out.println("数组和为"+ sum + ",平均值为:" + avg);
		return avg;
		
	}
	
	public static void main(String[] args) {
		Test01 t = new Test01();
		int[] a = new int []{1,2,3,1};		
		t.sum_avg(a);		
	}
}
9. 遍历二维数组{{4,6},{1,4,5,7},{-2}},并得到和
public static void main(String[] args) {
	int sum = 0;
	int[][] array = new int[][]{{4,6},{1,4,5,7},{-2}};
	
	for(int i = 0 ; i < array.length  ; i++){
		for(int j = 0; j < array[i].length ; j++){
			System.out.print(array[i][j] + " ");
			
			sum += array[i][j];				
		}
		System.out.println("");
	}
	System.out.println("");
	System.out.println("数组和为:"+sum);
}
10. 使用二维数组打印一个10行杨辉三角

public static void main(String[] args) {
	int[][] s = new int[10][];
	
	for(int i = 0 ; i < 10 ; i++){
		s[i] = new int [i+1]; //定义一维数组
		
		s[i][i] = 1; //对角线为1
		s[i][0] = 1; //第一列为1
		for(int j = 1; j < i; j++){
			s[i][j] = s[i-1][j-1]+s[i-1][j];
		}
		
		System.out.println(Arrays.toString(s[i]));
	}		
}

自己写的,输出不太一样

public static void main(String[] args) {
	int[][] s = new int[10][];
	
	for(int i = 0 ; i < s.length ; i++){
		s[i] = new int [i+1]; //定义一维数组
		
		for(int j = 0; j < s[i].length; j++){
			if(j == 0 || j == s[i].length -1){
				s[i][j] =1;
			}else{
				s[i][j] = s[i-1][j-1]+s[i-1][j];
			}				
		}						
	}
	
	//输出杨辉三角
	for(int i = 0; i < s.length ; i++){
		for(int j = 0; j  

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4998284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存