zoukankan      html  css  js  c++  java
  • Java基本语法练习

    1.编写程序,求100以内的全部素数。

    实验源码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public class FirstClass {
      public static void main(String[] args)
      {
          int iTemp;  //临时标记变量
          System.out.print("100以内的素数为:");
          for(int i = 2; i <= 100; i++)
          {
              iTemp = 1;
              for(int j = 2; j <= (i/2); j ++)
              {
                  if(i%j == 0)  
                  {
                      iTemp = 0;    //不为素数iTemp标记为零
                      break;        //为了提高效率结束二级循环
                  }
              }
              if(iTemp == 1)
              {
                  System.out.print(" "+i);
              }
          }
      }
       }

    实验输出结果:100以内的素数为: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

    2.从键盘随机输入20个整数,按从小到大进行排序后输出。

    实验源码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    import java.util.*;
    public class SecondClass {
     
        public static void main(String[] args)
        {
            //定义整数数组
            int[] aNum = new int[20];
            //实例化输入对象
            Scanner sc = new Scanner(System.in);
     
            //输入整数
            for(int i = 0; i < 20; i++)
            {
                aNum[i] = sc.nextInt();
            }
     
     
            //冒泡排序
            for(int i = 1; i < 20; i++)
            {
                for(int j = 19; j >= i; j--)
                {
                    if(aNum[j] < aNum[j-1])
                    {
                        //为了节省内存和提高效率所以用异或对两值交换
                        aNum[j] = aNum[j] ^ aNum[j-1];
                        aNum[j-1] = aNum[j] ^ aNum[j-1];
                        aNum[j] = aNum[j] ^ aNum[j-1];
                    }
                }
            }
     
            //输出结果
            System.out.print("从小到大顺序为:");
            for(int i = 0; i < 20; i++)
            {
                System.out.print(aNum[i]+" ");
            }
        }
     
    }

    实验结果:

    请输入20个整数:10 20 40 90 80 78 38 24 84 29 49 50 10 28 19 48 59 29 48 29

    从小到大顺序为:10 10 19 20 24 28 29 29 29 38 40 48 48 49 50 59 78 80 84 90 

    3.找出所有1-100之间能够被2,3,5同时整除的整数,并计算其总和。

    实验代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class ThirdClass {
        public static void main(String[] args)
        {
            int iSum = 0;
     
            System.out.print("满足条件的数字有:");
            for(int i = 1; i <= 100; i++)
            {
                if(i%2 == 0 && i%3 == 0 && i%5 == 0)
                {
                    iSum += i;
                    System.out.print(i+" ");
                }
            }
     
            System.out.println(" 总和为:"+iSum);
        }
    }

    实验结果:

    满足条件的数字有:30 60 90 

    总和为:180

    4.从键盘上输入10个学生的成绩,将考试成绩百分制转五级制并输出。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import java.util.*;
    public class ForthClass {
        public static void main(String[] args)
        {
            Scanner sc =new Scanner(System.in);
            int[] aScore = new  int[10];
     
            System.out.print("请输入10位同学的成绩:");
            for(int i = 0; i < 10; i++)
            {
                aScore[i] = sc.nextInt();
     
                switch(aScore[i]/10)
                {
                    case 10:
                    case 9:
                        System.out.print("A ");
                        break;
                    case 8:
                        System.out.print("B ");
                        break;
                    case 7:
                        System.out.print("C ");
                        break;
                    case 6:
                        System.out.print("D ");
                        break;
                    case 5:
                    case 4:
                    case 3:
                    case 2:
                    case 1:
                    case 0:
                        System.out.print("E ");
                        break;
                    default:
                        System.out.print("输入有误!!");
                }
            }  
        }
     
      }

    实验结果:

    请输入10位同学的成绩:100 20 79 85 89 60 30 60 90 40 

    A E C B B D E D A E 

    5、输入学生的数量,分别输入学生的成绩,排序,求最小值、最大值;根据某成绩查询其名次。

    实验代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    import java.util.Arrays;
    import java.util.Scanner;
    public class FifthClass {
        public static void main(String[] args)
        {
            //学生人数
            int iCount = 0;
            //初始化输入类
            Scanner sc = new Scanner(System.in);
     
            System.out.print("请输入学生个数以回车键结束:");
            iCount = sc.nextInt();
     
            int[] aScore = new int[iCount];
            System.out.print("请输入每个学生的分数以回车键结束:");
            for(int i = 0; i < iCount; i++)
            {
                aScore[i] = sc.nextInt();
            }
            //对分数进行排序
            Arrays.sort(aScore);
            System.out.print("分数升序排序结果为:");
            for(int i = 0; i < iCount; i++)
            {
                System.out.print(aScore[i]+" ");
            }
     
            System.out.println();
            //输出最小值
            System.out.println("最小值为:" + aScore[0]);
            //输出最大值
            System.out.println("最大值为:" + aScore[iCount-1]);
            //查询名次
            System.out.print("请输入所要查询名次的成绩:");
            int iScore = sc.nextInt();
            int iKey = Arrays.binarySearch(aScore,iScore) + 1;
            System.out.println("其对应的名次为:"+iKey);
        }
     
    }

    实验结果:

       请输入学生个数以回车键结束:5

    请输入每个学生的分数以回车键结束:98 93 86 74 25

    分数升序排序结果为:25 74 86 93 98 

    最小值为:25

    最大值为:98

    请输入所要查询名次的成绩:74

    其对应的名次为:2

    6.编写程序,求1!+2!+……+10!

    实验代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class SixthClass {
        public static void main(String[] args)
        {
            int iSum = 0;
            int iMul = 1;
            for(int i = 1; i <= 10 ;i++)
            {
                iMul*=i;
                iSum += iMul;
            }
            System.out.println("结果为:"+iSum);
        }
     
    }

    实验结果:结果为:4037913

     

    7、从键盘上输入字符串,判断其是否是合法的标识符。

    实验源码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    import java.util.Scanner;
    public class SeventhClass {
        public static void main(String[] args) {
            String sId;
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入字符串:");
     
            //输入字符串以换行结束
            sId = sc.nextLine();
            int flag = 1;
            //判断首个字符
            if(sId.charAt(0)>= '0' && sId.charAt(0)<= '9')
            {
                flag = 0;
            }
            else
            {
                for(int i = 0;i < sId.length();i++)
                {
                    //判断是否为标识符
                    if(sId.charAt(i)  != '_' && sId.charAt(i) != '$' && !(sId.charAt(i) >= '0' && sId.charAt(i) <='9') && !(sId.charAt(i)>='a' && sId.charAt(i) <='z') && !(sId.charAt(i)>='A' && sId.charAt(i) <='Z'))
                    {
                        flag = 0;
                        break;
                    }
     
                }
            }
     
            if(flag == 1)
            {
                System.out.println("标识符合法!");
            }
            else
            {
                System.out.println("标识符不合法!");
            }
     
        }
     
    }

    实验结果:

    请输入字符串:2$da

    标识符不合法!

    8、从键盘上输入一个字符、字符串、浮点数、双精度数、布尔量、整数,然后输出出来。

    实验代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import java.util.Scanner;
    public class EighthClass {
        public static void main(String[] args) {
            char ch;
            String str;
            int iNum;
            float fNum;
            double dNum;
            boolean bNum;
            Scanner sc = new Scanner(System.in);
     
            System.out.print("请输入一个字符以回车键结束:");
            ch = sc.nextLine().charAt(0);
     
            System.out.print("请输入一个字符串以回车键结束:");
            str = sc.next();
     
            System.out.print("请输入一个整数以回车键结束:");
            iNum = sc.nextInt();
     
            System.out.print("请输入一个浮点数以回车键结束:");
            fNum = sc.nextFloat();
     
            System.out.print("请输入一个双精度数以回车键结束:");
            dNum = sc.nextDouble();
     
            System.out.print("请输入一个布尔量以回车键结束:");
            bNum = sc.nextBoolean();
     
            System.out.println("字符:"+ch);
            System.out.println("字符串:"+str);
            System.out.println("整数:"+iNum);
            System.out.println("浮点数:"+fNum);
            System.out.println("双精度数"+dNum);
            System.out.println("布尔数:"+bNum);
     
        }
    }

    实验结果:

    请输入一个字符以回车键结束:a

    请输入一个字符串以回车键结束:asdf

    请输入一个整数以回车键结束:22

    请输入一个浮点数以回车键结束:2.343

    请输入一个双精度数以回车键结束:2.32323

    请输入一个布尔量以回车键结束:true

    字符:a

    字符串:asdf

    整数:22

    浮点数:2.343

    双精度数2.32323

    布尔数:true

    9.编写一个程序:给定一个整数,在控制窗口中分别输出这个整数的补码形式的二进制数、八进制数和十六进制数。

    实验代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import java.util.Scanner;
    public class NitthClass {
        public static void main(String[] args) {
     
            int iNum = 0;
            Scanner sc = new Scanner(System.in);
     
            System.out.print("请输入一个整数:");
            iNum = sc.nextInt();
     
            System.out.println("二进制数:"+Integer.toBinaryString(iNum));
            System.out.println("八进制数:"+Integer.toOctalString(iNum));
            System.out.println("十六进制进制数:"+Integer.toHexString(iNum));
        }
    }

    实验结果1:

    请输入一个整数:-20

    二进制数:11111111111111111111111111101100

    八进制数:37777777754

    十六进制进制数:ffffffec

    实验结果2:

    请输入一个整数:20

    二进制数:10100

    八进制数:24

    十六进制进制数:14

    10.求两个数的最小公倍数和最大公约数。

    实验代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    import java.util.Scanner;
    public class TenthClass {
      public static void main(String[] args) {
          int iNum1;
          int iNum2;
          int iMul;
          int iTemp;
          Scanner sc = new Scanner(System.in);
     
          System.out.print("请输入第一个整数以回车键结束:");
          iNum1 = sc.nextInt();
     
          System.out.print("请输入第二个整数以回车键结束:");
          iNum2 = sc.nextInt();
     
          iMul = iNum1 * iNum2;
          if(iNum1 > iNum2)
          {
              iTemp = iNum1;
              iNum1 = iNum2;
              iNum2 = iTemp;
          }
          while(iNum1 != 0)
          {
              iTemp = iNum2 % iNum1;
              iNum2 = iNum1;
              iNum1 = iTemp;
          }
          System.out.println("最大公约数:"+iNum2);
          System.out.println("最小公倍数:"+iMul/iNum2);
     
     
      }
     
    }

    实验结果:

    请输入第一个整数以回车键结束:36

    请输入第二个整数以回车键结束:96

    最大公约数:12

    最小公倍数:288

  • 相关阅读:
    HTML常用标签1
    mysql 多对多拆分成 一对多(学生,选修课,成绩)
    JDBC工具包使用
    类反射,用于JDBC
    JDBC基础语句使用
    关于线程等待、线程唤醒方法的引入
    synchronized站点抢票同步例题
    python-装饰器
    jwt, token, session和cookies
    miniapp之登录、授权和支付
  • 原文地址:https://www.cnblogs.com/ludashi/p/3866472.html
Copyright © 2011-2022 走看看