• java基本语法(流程控制语句)


    /*
    编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
    对它们进行排序(使用 if-else if-else),并且从小到大输出。
    
    说明:如果if-else if-else条件的执行语句块{}只有一条语句的话,那么这一对{}可以省略
    建议:不要省略{}
    */
    import java.util.Scanner;
    class TestApp{
        public static void main(String[] args) {
            //1.从键盘获取三个整数
            Scanner s = new Scanner(System.in);
            System.out.println("请输入第一个整数:");
            int num1 = s.nextInt();
            System.out.println("请输入第二个整数:");
            int num2 = s.nextInt();
            System.out.println("请输入第三个整数:");
            int num3 = s.nextInt();
    
            //2.对num1,num2,num3从小到大排序
            System.out.println("从小到大的排序为:");
            if(num1 > num2){
                if(num3 > num1)
                    System.out.println(num2 + "," + num1 + "," + num3);
                //System.out.println("helloworld");
                else if(num3 < num2)
                    System.out.println(num3 + "," + num2 + "," + num1);
                else
                    System.out.println(num2 + "," + num3 + "," + num1);
                
            }else{
                if(num3 > num2)
                    System.out.println(num1 + "," + num2 + "," + num3);
                else if(num3 < num1)
                    System.out.println(num3 + "," + num1 + "," + num2);
                else
                    System.out.println(num1 + "," + num3 + "," + num2);
                
            }
        
        }
    }

     

    /*
    输出所有的水仙花数,所谓水仙花数是指一个3
       位数,其各个位上数字立方和等于其本身。
        例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
    */
    class ShuiXianHua{
        public static void main(String[] args) {
            
            for(int i = 100;i < 1000;i++){//实现100-999的遍历  456 - 400 = 56 - 50
                int j1 = i / 100;//百位
                int j2 = (i - j1*100)/10;//十位
                int j3 = i % 10;//个位
    
                if(i == j1*j1*j1 + j2*j2*j2 + j3*j3*j3){
                    System.out.println(i);
                }
            }
        }
    }
    public static void main(String[] args) {
            /*
            *****
            *****
            *****
            *****
            */
            for(int j = 0;j < 4;j++){//外层循环控制行数
                for(int i = 0;i < 5;i++){//内层循环控制列数
                    System.out.print("*");
                }
                System.out.println();
            }
    
            /*
            *
            **
            ***
            ****
            */
            for(int j = 0;j < 4;j++){//外层循环控制行数
                for(int i = 0;i < j + 1;i++){//每行输出j + 1个
                    System.out.print("*");
                }
                System.out.println();
            }
            /*
            *****
            ****
            ***
            **
            *
            */
            for(int i = 0; i < 5;i++){
                for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++)
                    System.out.print("*");
                }
                System.out.println();
            }
    
            /*
            *
            **
            ***
            ****
            *****
            ****
            ***
            **
            *
            */
            for(int j = 0;j < 4;j++){//外层循环控制行数
                for(int i = 0;i < j + 1;i++){//每行输出j + 1个
                    System.out.print("*");
                }
                System.out.println();
            }
            for(int i = 0; i < 5;i++){
                for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++)
                    System.out.print("*");
                }
                System.out.println();
            }
    
    /*
    打印如下图形
    ----*
    ---* *
    --* * *
    -* * * *
    * * * * *
    i    k-    j*   k = 4 - i   j = i + 1
    0    4    1
    1    3    2
    2    2    3
    3    1    4
    4    0    5
    -* * * *
    --* * *
    ---* *
    ----*
    i    k-    j*   k = i + 1   j = 4 - i 
    0    1    4    
    1    2    3
    2    3    2
    3    4    1
    */    
        //上半部分:
        for(int i = 0;i < 5;i++){
            for(int k = 0;k < 4 - i;k++){
                System.out.print(" ");
            }
            for(int j = 0;j < i + 1;j++){
                System.out.print("* ");
            }
            System.out.println();
        }
        //下半部分
        for(int i = 0;i < 4;i++){
            for(int k = 0;k < i + 1;k++){
                System.out.print(" ");
            }
            for(int j = 0;j < 4 - i;j++){
                System.out.print("* ");
            }
            System.out.println();
        }
    }
    /*
    
    100以内的所有质数
    
    */
    class TestPrimeNumber{
        public static void main(String[] args){
            boolean flag = false;
            long start = System.currentTimeMillis();//获取系统当前的毫秒数
            for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
                //如何判断i是否为一个质数
                for(int j = 2;j <= Math.sqrt(i);j++){
                    if(i % j == 0){
                        flag = true;
                        break;
                    }
                }
                if(!flag){//if(flag == false){
                    //System.out.println(i);
                }
                flag = false;
            }
            long end = System.currentTimeMillis();
            System.out.println("所花费的时间为:" + (end - start));
            //35535--加上break:10059--使用Math.sqrt():
        }
    }
    public static void main(String[] args){
            //boolean flag = false;
            long start = System.currentTimeMillis();//获取系统当前的毫秒数
            l:for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
                //如何判断i是否为一个质数
                for(int j = 2;j <= Math.sqrt(i);j++){
                    if(i % j == 0){
                        //flag = true;
                        //break;
                        continue l;
                    }
                }
                //if(!flag){//if(flag == false){
                    System.out.println(i);
                //}
                //flag = false;
            }
            long end = System.currentTimeMillis();
            System.out.println("所花费的时间为:" + (end - start));
            //35535--加上break:10059--使用Math.sqrt():
        }
    /*
    一个数如果恰好等于它的因子之和,这个数就称为"完数"。(因子:除去这个数本身正的约数)
    例如6=1+2+3.编程 找出1000以内的所有完数
    */
    class TestApp{
        public static void main(String[] args){
            int factor = 0;
            for(int i = 1;i <= 1000;i++){
                //每执行完一次如下的循环,就会将i的所有的因子累加到factor中
                for(int j = 1;j < i;j++){
                    if(i % j == 0){
                        factor += j;
                    }
                }
                if(i == factor){
                    System.out.println(i);
                }
                factor = 0;
            }
        }
    }
  • 相关阅读:
    为什么需要多重继承?它的优缺点是什么?
    delete
    链表环状检测主要有三种方法
    常见和链表相关的算法
    二分查找算法
    找出两个字符串中最长的相同子字符串
    链表创建打印删除
    python项目
    hadoop博客 oschina
    用shell写个100以内的所有数字之和
  • 原文地址:https://www.cnblogs.com/lzb0803/p/8998850.html
Copyright © 2020-2023  润新知