zoukankan      html  css  js  c++  java
  • java课堂动手动脑及课后实验总结

      动手动脑一:枚举

      输出结果:

    false

    false

    true

    SMALL

    MEDIUM

    LARGE

    分析和总结用法

    枚举类型的使用是借助ENUM这样一个类,这个类是JAVA枚举类型的公共基本类。枚举目的就是要让某个变量的取值只能为若干固定值中的一个。

    1、Size s=Size.SMALL;

    对s变量进行赋值,只能给已经定义好的常量(即SMALL,MEDIUM,LARGE中的其中一个)。

    2、System.out.println(s==t);

    判断s是否与t相同。

    3、System.out.println(s.getClass().isPrimitive());

    调用enum中的方法。

    4、Size u=Size.valueOf("SMALL");

    对u进行赋值,与1相似,使用不同的赋值语句。

    5、System.out.println(s==u); 

    判断s是否与u相同。

    6、for(Size value:Size.values())

    {

    System.out.println(value);

    }

    对枚举进行遍历,并且找最大的。

    动手动脑二:原码,补码,反码

    计算机内,定点数有3种表示法:原码、反码和补码。反码是数值存储的一种,但是由于补码更能有效表现数字在计算机中的形式,所以多数计算机一般都不采用反码表示数。

           原码:二进制的定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

           反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

           补码:正数的补码与其原码相同,负数的补码是在其反码末位加1;

           Java是采用补码表示的。

    动手动脑三:同名屏蔽

    public class test1 {
    private static int value=1;
        public static void main(String[] args) {
            // TODO Auto-generated method stub
        int value=2;
        System.out.println(value);
        }
    }

    结论:实际数的值以主函数中的变量值为主,屏蔽掉同类中主函数外的值。

    实验一:二柱子四则运算

    源代码:

    package java课堂;

    import java.util.*;

    public class shiyan1 {

        public static int ran1()
        {
            int n;
            n=1+(int)(Math.random()*10);
            return n;
        }//随机生成1-9
        
        public static int ran2()
        {
            int n;
            n=1+(int)(Math.random()*50);
            return n;
        }//随机生成1-50
        public static int ran3(int m)
        {
            int n;
            n=1+(int)(Math.random()*m);
            return n;
        }//随机生成1-81
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    int i;
    int a;
    int b;
    char s1;
    char []s= {'+','-','*','/'};
    Random rd = new Random();
    for(i=1;i<=30;i++)
    {
        s1=s[rd.nextInt(4)];//随机生成加减乘除符号
        if(s1=='+')
         {
           a=ran2();
           b=ran2();
           System.out.println(i+": "+a+""+s1+""+b+"= ?");
         }//三个数的加法
        else if(s1=='-')
        {
            a=ran2();
               b=ran2();
               boolean flag=true;
               while(flag)
               {
                   a=ran2();
                   b=ran2();
                   if(a>b)
                       flag=false;
               }//防止得数出现负数
            System.out.println(i+": "+a+""+s1+""+b+"= ?");
        }
        else if(s1=='*')
        {
            a=ran1();
            b=ran1();
            System.out.println(i+": "+a+""+s1+""+b+"= ?");
        }//九九乘法
        else
        {
            b=ran1();
            a=ran3(9*b);
            boolean flag=true;
              while(flag)
                 {
                  b=ran1();
                a=ran3(9*b);
                   if((a%b)==0&&(a>b))
                   flag=false;
                  }//如果除法合法,跳出循环
              System.out.println(i+": "+a+""+s1+""+b+"= ?");
        }
    }//出三十道题

        }

    }

    测试截图:

    这个程序最主要的地方就是随机生成加减乘除,以及具体到除法运算中的是否可行问题。

    实验二:随机生成验证码

    package java课堂;

    import java.util.*;
    import java.awt.*;
    import javax.swing.*;

    public class shiyan2 {
    public static char ran()
    {
        char []s= {'0','1','2','3','4','5','6','7','8','9','o','p','r','m','n','s','q'};
        char s1;
        Random rd = new Random();
        s1=s[rd.nextInt(17)];
        return s1;
    }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            boolean flag=true;
            Scanner scan=new Scanner(System.in);
            int i;
    char []a=new char[4];
    char []b=new char[4];
    System.out.println("验证码如下:");
    for(i=0;i<4;i++)
    {
        a[i]=ran();
        System.out.println(a[i]);
    }
    System.out.println(" ");
    System.out.println("请输入验证码 : ");
    for(i=0;i<4;i++)
    {
        String s=scan.next();
        b[i]=s.charAt(0);
        if(b[i]!=a[i])
            flag=false;
    }
    if(flag)
    {
        System.out.println("验证码正确");
    }
    else
        System.out.println("验证码错误");

        }

    }

    测试截图

    这个实验主要是让我们熟悉随机生成数字和字符的组合,但是我并没有按照要求实现图形化界面很遗憾,以后一定在这方面下功夫去学习,争取尽快做出来界面化的让人看起来很舒服的程序。

     

  • 相关阅读:
    解决ListView异步加载数据之后不能点击的问题
    android点击实现图片放大缩小 java技术博客
    关于 数据文件自增长 的一点理解
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Linux 超级用户的权利
    RAC 实例 迁移到 单实例 使用导出导入
    Shell 基本语法
    Linux 开机引导与关机过程
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Oracle RAC + Data Guard 环境搭建
  • 原文地址:https://www.cnblogs.com/Aduorisk/p/9751074.html
Copyright © 2011-2022 走看看