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("验证码错误");

        }

    }

    测试截图

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

     

  • 相关阅读:
    比SRCNN效果好的传统超分辨率算法汇总
    CSS3 2D转换
    CSS3 文本效果
    CSS3 Gradients(渐变)
    CSS3 背景
    CSS3 圆角
    CSS3 边框
    CSS3 简介
    CSS 属性选择器
    CSS 媒体类型
  • 原文地址:https://www.cnblogs.com/Aduorisk/p/9751074.html
Copyright © 2011-2022 走看看