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 <s[i].length; j++){
   
			System.out.print(s[i][j] + "\t");
		}
		System.out.println();
	}
}

全部评论

相关推荐

2024-12-29 11:08
湖南工业大学 Java
程序员牛肉:简历没什么大问题了。 而且不要再换项目了。三月份就开暑期实习了,现在都一月份了。实在来不及重新开一下项目了。把一个项目写完或许很快,但是把一个项目搞懂吃透并不简单。所以不要换项目了,把你简历上面的两个项目好好挖一挖吧。 具体 体现在:你能不能流利的说出你的项目的每一个功能点代码实现?你能不能说出在这块除了A技术之外,还有其他技术能够实现嘛?如果有其他技术能够实现,那你这块为什么选择了你当前用的这个技术?
投递牛客等公司
点赞 评论 收藏
分享
会员标识
今天 16:28
已编辑
牛客运营
从03年的“北大毕业生卖猪肉”到前段时间上热搜的“北大博士入职城管”,这些年“下沉式就业”现象频繁牵动着大家的视野和目光吧,很吸睛?我觉得并不是,如果你说985大学生XXX,那可能成不了焦点,如果说是北大清华毕业生去当城管,卖猪肉,大家都会讨论一番,无论是谁都知道北大清华的过人之处。但是呢近些年的确有很多985、211名校毕业生选择到基层就业或回老家创业,会不会觉得大财小用?老家的哥哥,因为当时学的专业不是很好,但好在学校不错,一路本硕连读,毕业之后在上海打拼了2年,也攒了一些小钱,随后回村选择科学养鸡,买了很大一块地开始科学方法的养鸡、卖鸡蛋,村里的老人都会议论纷纷,白瞎了家里供你读书,又回...
下午吃泡馍:不是每一个脱下长衫的人在下沉市场重获新生,并不是每一个养猪养鸡的高学历人才都会成功。现实是很多人的“长衫”就是自己为数不多甚至唯一的底牌了,拼尽全力拿到一个不错的学历,这时候主流媒体告诉对方脱下长衫也可以活的精彩,其实真的挺难过的。强者恒强,但是弱者是人群的底色。 本质上是整个市场的问题,没有足够多的增长点,没有足够多的岗位,自上而下没有积极向上的氛围。外企撤出,供应链缺失...在发展的过程中总有阵痛,现阶段可能就是我们承受阵痛的过程。之前在牛客看到一个小伙伴说:时代的一粒灰尘,落在谁的身上,都将是无法承受之重!深有感触。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务