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

}

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

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(array[i] == array[j] || array[j] == array[k] || array[k] == array[i] )
                    continue;
                    System.out.println(array[i]*100+array[j]*10+array[k]);


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

		
		*/

		//通过外循环控制需要打印的行数
		

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

            //通过内循环(2)控制需要打印的星星的数量
            for(int j = 1; j <= 2*i-1; j++)
                System.out.print("*");
               // System.out.println("*");
            /**********end**********/

            //当前行中的空格以及星星打印完成之后进行换行操作 \n表示换行
            System.out.print("\n");
          }


		
	}
}

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

package step2;


public class FindZhiShu {


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

		   /**********begin**********/
           System.out.print(2+" ");

           for(int i = 3; i <= 1000; i++)
           {
               int flag=0;
               for(int j = 2; j <= i/j; j++)
               {
                   if(i%j == 0){
                       flag = 1;
                        break;
                   }
               }
               if(flag == 0)
               System.out.print(i+" ");
           }
           /**********end**********/	
	}
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值