Educoder/头歌JAVA实训——JAVA循环与分支语句编程练习

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

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=0;
	   if(x>y){
           temp=y;
           y=x;
           x=temp;
       }else if(x>z){
           temp=z;
           z=x;
           z=temp;
       }else if(y>z){
           temp=z;
           z=y;
           y=temp;
       }
	    /**********end**********/
		System.out.print("x:"+x+" y:"+y+" z:"+z);		
	}
}

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

相关知识

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

实现思路:

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

  • 由于题目要求百位数、十位数、个位数互不重复,因此可以在第三层循环中进行判断 如果 不等于并且 j不等于并且 i不等于k则进行数据的拼装并打印;
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<array.length;i++){
			  array[i] = sc.nextInt();
		 }
		
		//通过第一层循环控制百位的数字    array[i]表示百位的值
		for (int i = 0; i < array.length; i++) {
			//通过第二层循环控制十位的数字    array[j]表示十位的值
			for (int j = 0; j < array.length; j++) {		
				//通过第三层循环控制个位的数字   array[k]表示个位的值
				for(int k = 0;k< array.length;k++) {
				
					/**********begin**********/
                    if(i!=j&&i!=k&&j!=k){
                        System.out.print(array[i]);
                        System.out.print(array[j]);
                        System.out.print(array[k]);
                        System.out.print("\n");
                    }
					/**********end**********/
				}
			}
		}	
	}
}

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

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
		
		*/

		//通过外循环控制需要打印的行数
		for(int i=1;i<=lineNum;i++){

          /**********begin**********/
          
		  //通过内循环(1)控制需要打印的空格   
		 for(int j=0;j<lineNum-i;j++){
             System.out.print(" ");
         }

          //通过内循环(2)控制需要打印的星星的数量
		  for(int k=0;k<2*i-1;k++){
              System.out.print("*");
          } 
	      /**********end**********/
		  //当前行中的空格以及星星打印完成之后进行换行操作 \n表示换行
           System.out.print("\n");		
		}		
	}
}

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

相关知识

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

何为质数?

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

编程要求

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

package step2;

public class FindZhiShu {

	public static void main(String[] args) {
		   /*
		     打印输出质数的时候务必按照如下格式:System.out.print(质数+" ");
		     使用print进行打印同时被打印输出的质数后加上一个空格,
		     以便于与平台提供的结果格式保持一致!
            */
		   /**********begin**********/
            int i,j;
		int num;
		for(i=1;i<=1000;i++)
		{
			for(j=2;j<i;j++)
			{
				if(i%j==0){
                    break;
                }
			}		
			if(i==j)
				System.out.print(j+" ");		
		}
           /**********end**********/	
	}
}
### 回答1: 可能的 Java 异常包括 NullPointerException、ArrayIndexOutOfBoundsException、NumberFormatException 等等。在 Java 中,可以使用 try-catch 语句来捕捉并处理这些异常,以避免程序崩溃或出现未知错误。 ### 回答2: Java中的异常是指程序在运行过程中出现了一些意料之外的情况或错误,导致程序无法正常运行的情况。当程序出现异常时,将会抛出一个异常对象,这个异常对象包含有关出现异常的类型及其附加信息。为了处理异常,Java提供了一个异常处理机制,可以通过处理异常来避免程序崩溃或出现无法处理的错误状况。 在Java中,异常分为运行时异常和受检异常两种。运行时异常是那些可能会在程序运行过程中异常抛出的异常,如空指针异常、数组下标越界异常等。这些异常一般是由程序逻辑错误引起的。受检异常是那些必须在编译期检查的异常,如IO异常、ClassNotFoundException等。这些异常一般是由外部因素引起的,如IO操作失败、类加载失败等。 在Java中,要想处理异常,可以使用try-catch语句块。在try块中包含可能抛出异常的代码,如果异常被抛出,则会跳转到catch块中进行处理。catch块中可以处理抛出的异常,也可以仅仅输出异常信息。此外,还可以使用finally关键字创建一个块,在程序执行完try-catch块后,无论是否抛出了异常,finally块中的代码都会被执行。 在Java中,还提供了异常链机制,可以将多个异常信息连接在一起,形成一条异常链。异常链可以追溯到抛出异常的原始位置,方便排查问题。此外,Java中还提供了自定义异常的机制,可以根据需要创建自己的异常类型,以便更好地适应项目的需求。 总之,异常处理是Java编程中不可忽视的技能之一。合理运用异常处理机制可以使程序更加健壮、稳定,也可以提高程序的容错能力,减少程序的运行错误。 ### 回答3: Java是一种面向对象的编程语言,如今已经成为了世界上最受欢迎的语言之一。Java语言的异常处理机制是非常重要的一部分,它可以用来处理程序运行过程中可能出现的问题,也可以让程序更加健壮和稳定。在Java中,所有的异常都是通过Java中的异常类来表示的。在本文中,我们将讨论Java中的异常机制及其相关的知识点。 首先,我们来看Java中异常的种类。Java中的异常分为两种:受检异常和非受检异常。受检异常是指必须在方法的throw语句中声明并在调用该方法时需要处理的异常,它被称为“强制性异常”。非受检异常是指在程序运行过程中会出现的错误,但并不需要在方法的throw语句中明确声明的异常,它被称为“RuntimeException”。当程序出现RuntimeException时,程序的正常流程就会中断,而不需要在throw语句中声明。 接下来,我们来看Java中的异常处理机制。在Java中,异常的处理是通过try-catch结构来实现的。try块中包含会抛出异常的代码,如果try块中的代码执行没有问题,则忽略catch块。如果有异常出现,则程序会跳转到catch块中进行处理。catch块需要提供异常的类型,以便对于不同的异常进行不同的处理。 在Java中,异常还包括了finally块。finally块包含一些无论执行流程如何都需要完成的代码,比如释放资源。无论代码是否出现异常,finally中的代码都会执行。 如果在try块中抛出异常后仍然需要抛出异常,我们可以使用throw语句。throw语句用于手动抛出异常,并将异常消息传递给调用方。在throw语句中,我们可以使用Java中定义的异常类或自定义异常类来抛出异常。 最后,让我们来看一下异常的处理。在处理异常时,我们需要清楚地知道异常的类型和异常发生的位置。我们可以使用Java中的printStackTrace方法打印异常的详细信息,并根据异常的类型来选择不同的处理方式。针对受检异常,我们可以使用try-catch语句块来捕获异常;针对非受检异常,我们可以使用try-catch结构或者在方法签名中使用throws语句来处理异常。 总之,Java异常处理机制是Java编程中的一个非常重要的部分。在实际编程中,合理的异常处理能够提高代码的可读性和可维护性,也可以让程序更加健壮和稳定。因此,我们应该重视异常处理机制的学习和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆小玖

您的鼓励是我的不竭动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值