• Java语法基础课后作业


    1、动手动脑

    运行它EnumTest.java,分析运行结果

    s和t分别引用的是SMALL和LARGE,枚举类型不是原始数据类型,s和u的赋值方式不同,但结果一样,列出它的所有值:SMALL,MEDIUM,LARGE。

    2、枚举类型的基本用法

    枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。 可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

    3、补码、原码和反码

    反码:反码的表示方法是:正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
    原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.
    补码:补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1.
    4.为什么double类型的数值进行运算得不到数学上精确的结果

    这个涉及到二进制与十进制的转换问题。
    N进制可以理解为:数值×基数的幂,例如我们熟悉的十进制数123.4=1×10²+2×10+3×(10的0次幂)+4×(10的-1次幂);其它进制的也是同理,例如二进制数11.01=1×2+1×(2的0次幂)+0+1×(2的-2次幂)=十进制的3.25。
    double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差(除非实际数据恰好是2的n次方)。

    5、以下代码的输出结果是什么?

    int X=100;
    int Y=200;
    System.out.println("X+Y="+X+Y);在这+表示为连接符
    System.out.println(X+Y+"=X+Y");在这第一个+表示相加,第二个+表示为连接符
    为什么会有这样的输出结果?
    +在不同的情况下表达不同的含义,比如在第一行输出代码中表达连接符,而在第二行中表达相加和连接符。
    6、加减乘除
    import javax.swing.JOptionPane;  // import class JOptionPane
    
    public class Test5 {
       public static void main( String args[] )
       {
          String firstNumber,   // first string entered by user
                 secondNumber;  // second string entered by user
          int number1,          // first number to add
              number2,          // second number to add
              sum,              // sum of number1 and number2
              subtraction,      // subtraction of number1 and number2
              product,          // product of number1 and number2
              division = 0;         // division of number1 and number2
    
          // read in first number from user as a string
          firstNumber =
             JOptionPane.showInputDialog( "输入第一个数" );
    
          // read in second number from user as a string
          secondNumber =
             JOptionPane.showInputDialog( "输入第二个数" );
    
          // convert numbers from type String to type int
          number1 = Integer.parseInt( firstNumber ); 
          number2 = Integer.parseInt( secondNumber );
    
          // add the numbers
          sum = number1 + number2;
          
          //multiply the numbers
          product = number1 * number2;
          
          //divide the numbers
          if( number2 == 0 )
              JOptionPane.showMessageDialog(
                         null, "分母为零,无法计算两数相除", "Results",
                         JOptionPane.PLAIN_MESSAGE );
          else
              division = number1 / number2;
          
          //minus the numbers
          subtraction = number1 - number2;
          
    
          // display the results
          JOptionPane.showMessageDialog(
             null, "The sum is " + sum 
             + " 
    The subtraction is " + subtraction 
             + " 
    The product is " + product
             + " 
    The division is " + division, "Results",
             JOptionPane.PLAIN_MESSAGE );
    
          System.exit( 0 );   // terminate the program
       }
    }

    仿照例子写出减乘除,弹窗提示。

    7、验证码

    程序源码:

    import javax.swing.JOptionPane;
    
    public class Test6 {
        
        public static void main(String[] args) 
        {
            //定义一个空字符串
            String result = "";
            String Input = "";
            
            //进行6次循环
            for(int i = 0 ; i < 6 ; i ++)
            {
                //生成一个97~122的int型的整数
                int intVal = (int)(Math.random() * 26 + 97);
                //将intValue强制转换为char后连接到result后面
                result = result + (char)intVal;
            }
           
    //输出验证码 JOptionPane.showMessageDialog(
    null, "验证码:" + result, "Results", JOptionPane.PLAIN_MESSAGE );
    //用户输入验证码 Input
    = JOptionPane.showInputDialog( "输入验证码" );
    //判断是否一致
    if(Input.equals(result)) JOptionPane.showMessageDialog( null, "验证码输入正确", "Results", JOptionPane.PLAIN_MESSAGE ); else JOptionPane.showMessageDialog( null, "Error", "Results", JOptionPane.PLAIN_MESSAGE ); } }

    程序流程图:

    运行结果:

  • 相关阅读:
    PyQt5 + Pycharm 自定义控件
    GATT over BR/EDR
    BES2500/BES2300 audio_developer调试通话降噪
    python:pyqtgraph log对数坐标系禁止显示科学计数
    PyQt5 + Pycharm 开发环境搭建
    正则表达式
    黑苹果: VMware虚拟机
    查看手机知否支持BLE的DLE功能(Data Packet Length Extension)
    Java NIO ByteBuffer 的 position,limit,capacity 和
    osg::TexEnvCombine 与 OpenGL API 之 glTexEnv
  • 原文地址:https://www.cnblogs.com/a1264393659/p/4860103.html
Copyright © 2020-2023  润新知