头歌(educoder)实训作业题目及答案分享 ——1-7 Java入门-分支与循环练习

 📋个人简介

📜个人简介 :
 作者简介:大家好,我是Passenger.n✌️
 支持一下:点赞👍+收藏🌟+留言📪

📣 系列专栏:java基础🍁

✉️格言:花有重开日,人无再少年!🌞

我的心声

万事开头难,既然迈开了这一步,那就坚持走下去!

这是我的第一篇博客,希望萌新看了有收获,大佬看了给指路😝

目录

 📋个人简介

​编辑我的心声

🍄 前言

🐳第1关:将给定的整数进行由小至大排序

第一题任务要求:

第一题参考代码:

💦第2关:根据给定的不重复的四个正整数,组成无重复数字的三位数并输出

第二题任务要求:

第二题参考代码:

⏳第3关:通过for循环打印实心三角形

第三题任务要求:

第三题参考代码:

🐳第4关:找出1至1000以内的质数

第四题任务要求:

第四题参考代码:

💻 结语



🍄 前言

🍊从今天起,我们将从计算机语言开始,一起学习Java基础🍊

🐳第1关:将给定的整数进行由小至大排序

第一题任务要求:

  • 任务描述

    本关任务:补充程序中的代码,将给定的的三个整数进行由小至大排序。

    • 相关知识

    • 编程要求

      根据提示,在右侧编辑器Begin-End中代码完善,将排序完成之后的结果输出即可。

      • 测试说明

        平台会对你编写的代码进行测试:

        • 测试输入:

          int x = 9; int y = 10; int z = 8;

          • 预期输出:

            x:8 y:9 z:10


            以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


            第一题参考代码:

            package step4;
             
            public class LianXi_Sort {
            	
            	public static void main(String[] args) {
            		// TODO Auto-generated method stub
            		/*
            		 * 定义三个整数x,y,z,将这三个整数由小到大排序并输出。
            		 * 例如定义 int x = 9; int y = 10; int z = 8;   -- > x的值改成8  y的值改成9 z的值改成10
            		 * 
            		 * 实现思路:通过if语句对x y z 的值进行匹配,比如x大于y则x和y进行数据交换
            		 * */
            		 java.util.Scanner sc = new java.util.Scanner(System.in);
            		//获取平台分配的x的值
            		int x = sc.nextInt();
            		//获取平台分配的y的值
            		int y = sc.nextInt();;
            		//获取平台分配的z的值
            		int z = sc.nextInt();;
            		/**********begin**********/
            	   int temp;
            	   if (x>y){
            		   temp=y;
            		   y=x;
            		   x=temp;
            		
            	   }
            	     if (x>z){
            		   temp=z;
            		   z=x;
            		   x=temp;
            	   }
            	  if (y>z){
            		   temp=z;
            		   z=y;
            		   y=temp;
            		
            	   }
            	    /**********end**********/
            		System.out.print("x:"+x+" y:"+y+" z:"+z);
            		
            	}
            }
            

            💦第2关:根据给定的不重复的四个正整数,组成无重复数字的三位数并输出

            第二题任务要求:

            • 任务描述

              本关任务:根据平台提供的四个小于10的正整数,将这些正整数组成互不相同三位数,将满足条件的三位数进行输出!

              • 相关知识

                为了完成本关任务,你需要掌握:1、数组的定义; 2、循环语句的熟练使用。

                • 实现思路:

                • 可以通过三层循环的方式,第一层循环用于控制百位数的变化,第二层循环用于控制十位数的变化,第三层循环用于控制个位数的变化。

                  • 由于题目要求百位数、十位数、个位数互不重复,因此可以在第三层循环中进行判断 如果 i 不等于j 并且 j不等于k 并且 i不等于k则进行数据的拼装并打印;
                  • 编程要求

                    根据提示,在右侧编辑器Begin-End处补充代码,将满足条件的三位数打印;

                    • 测试说明

                      平台会对你编写的代码进行测试:若与预期输出相同,则算通关。


                      以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


                      第二题参考代码:

                      package step3;
                      public class LianXi {
                      	
                      	public static void main(String[] args) {
                      		/*
                      		 * 假设平台分配的四个整数为 1 2 3 4
                      		 * 那么百位有可能是  1 2 3 4   十位:有可能是  1 2 3 4    个位:有可能是  1 2 3 4,
                      		 * 要求是 百位 十位  各位上的数字不能重复
                      		 * 比如:123  124  132  134 等都满足条件
                      		 * 比如:122  131  121  232 等都不满足条件
                      		 * 
                      		 * */
                      		 //定义长度为4的int数组
                      		 int[] array = new int[4];    
                      		 //创建Scanner对象获取平台输入的信息
                               java.util.Scanner sc = new java.util.Scanner(System.in);
                               //获取平台给定的输入值并填充至数组中
                      		 for(int i=0;i

                      ⏳第3关:通过for循环打印实心三角形

                      第三题任务要求:

                      任务描述

                      本关任务:编写一个利用for循环打印实心三角形的小程序。

                      相关知识

                      为了完成本关任务,你需要掌握for循环的相关操作以及嵌套for循环的使用!

                      通过打印的实心三角形可以发现如下规律 下图中n代表当前行号,sum代表总的行数,当前行号与当前行需要打印的空格星星之间存在如下关系:

                      编程要求

                      根据提示,在右侧编辑器Begin-end处补充代码,并按照指定的行数打印实心三角形。

                      测试说明

                      平台会对你编写的代码进行测试,打印出类似下图效果,具体打印的星星行数由平台输入参数决定;


                      以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


                      第三题参考代码:

                      package step1;
                      public class ShiXinSanJiaoXing
                      {
                      	public static void main(String[] args) 
                      	{
                      		//创建Scanner对象用于获取平台给定的输入信息
                      		java.util.Scanner sc = new java.util.Scanner(System.in);
                              //定义需要打印的总行数
                      		int lineNum = sc.nextInt();
                      		/*
                      		 i(行号)      空格数量(lineNum-i)    星星数量 (2*i -1)    
                      			1                    5                      1
                      			2                    4                      3
                      			3                    3                      5
                      			4                    2                      7
                      			5                    1                      9
                      			6                    0                      11
                      		
                      		*/
                      		//通过外循环控制需要打印的行数
                      		
                                /**********begin**********/
                                
                      		  //通过内循环(1)控制需要打印的空格   
                      		 for(int i=1;i<=lineNum;i++){
                      			 for(int j=1;j<=lineNum-i;j++){
                      				 System.out.print(" ");
                      			 }
                      			 for (int j=1;j<=2*i-1;j++){
                      				 System.out.print("*");
                      			 }
                      		 
                                //通过内循环(2)控制需要打印的星星的数量
                      		  
                       
                      	      /**********end**********/
                      		  //当前行中的空格以及星星打印完成之后进行换行操作 \n表示换行
                                 System.out.print("\n");
                      		}
                      		
                      		
                      	}
                      }
                      

                      🐳第4关:找出1至1000以内的质数

                      第四题任务要求:

                      • 任务描述

                        本关任务:编写程序找出1至1000以内的质数。

                        • 相关知识

                          为了完成本关任务,你需要掌握:1.质数的概念;2.循环语句以及if分支语句的使用; 3、关键字 break、continue相关使用。

                          何为质数?

                          质数:只能被1和它本身整除的数,比如10以内的质数: 2 3 5 7,任何的偶数(除2以外)都是非质数以及奇数1不属于质数。

                          • 编程要求

                            根据提示,在右侧编辑器Begin-End处补充代码,将1至1000以内的质数打印输出,打印的时候务必按照如下格式: System.out.print(质数+" ");使用print进行打印同时被打印输出的质数后加上一个空格,以便于与平台提供的结果格式保持一致!

                            • 测试说明

                              平台会对你编写的代码进行测试:若与预期输出相同,则算通关。


                              以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


                              第四题参考代码:

                              package step2;
                              public class FindZhiShu {
                              	public static void main(String[] args) {
                              		   /*
                              		     打印输出质数的时候务必按照如下格式:System.out.print(质数+" ");
                              		     使用print进行打印同时被打印输出的质数后加上一个空格,
                              		     以便于与平台提供的结果格式保持一致!
                                          */
                              		   /**********begin**********/
                              int i;
                              int j;
                              int num;
                              for (i=1;i<=1000;i++)
                              {
                              	for(j=2;j 

                              💻 结语

                              时隔很久我又回来了,一定得坚持住!如果没有还请诸位多多监督!

                              感谢大家的阅读 如果在内容方面有什么问题,可以在评论区或私信告诉我!

                              如果本篇帮助到了屏幕前的你希望给博主

                              一个免费的赞👍+评论✉️ +收藏💻!!!

                              感谢大家的支持!