Java 02 课后作业

第一题:

//在消息框中输入两个数,并用消息框显示出两个数的加减乘除的结果

import javax.swing.JOptionPane;

public class Calculator {
    public static void main(String args[])
    {
        String firstNumber,secondNumber;
        int number1,number2,sum,minus,plus,divide;

        firstNumber=JOptionPane.showInputDialog("请输入第一个数字:");
        secondNumber=JOptionPane.showInputDialog("请输入第二个数字:");

        number1=Integer.parseInt(firstNumber);
        number2=Integer.parseInt(secondNumber);
//计算出两个数字的加减乘除的结果
        sum=number1+number2;
        minus=number1-number2;
        plus=number1*number2;
        divide=number1/number2;

        JOptionPane.showMessageDialog(null,"两个数的和为:"+sum
                                            +","+"两个数的差为:"+minus
                                            +","+"两个数的积为:"+plus
                                            +","+"两个数的商为:"+divide,"结果",JOptionPane.PLAIN_MESSAGE);

        System.exit(0);
    }
}

第二题:

①EnumTest.java结果:

False

False

True

SMALL

MEDIUM

LARGE

第一个结果是在比较两者是否相同,第二个是判断是否为基本类型,第三个是赋值并进行比较,后面三个是将所有数值一次输出的结果。

enum可用来创建一个枚举类型,枚举类型属于引用类型,枚举不属于原始的数据类型,每个具体值都会引用枚举里的一个对象,可使用“==”和“equals()”来判断两个值是否相等。

②在计算机内,定点数有3种表示法:原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。

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

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

补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

同名变量的屏蔽原则,就是指变量的会根据离他最近的赋值来获得数值,而关系较弱,相距较远的赋值会不起作用。

③Double得到的结果不精确,主要归因于浮点数在计算中的表示方法,浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示某个实数,这个实数由有一个整数或定点数乘以某个基数的整数次幂得到,无法精确地保存浮点数字实际的大小。

解决方法:可以使用java.math.BigDecimal来计算,使用其中的加减乘除的函数,得到的结果会更加精确一些,除法除不尽的话,会保留10位后进行四舍五入。

int X=100;

int Y=200;

System.out.println("X+Y="+X+Y);

System.out.println(X+Y+"=X+Y");

的结果为:

X+Y=100200

300=X+Y

第一个输出,只是单纯的将数字和字符串拼接在一起,没有别的含义,而第二个输出,输出的是“X+Y”的结果,故结果不相同。

时间: 2024-11-11 00:49:46

Java 02 课后作业的相关文章

JAVA字符串课后作业

1.古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想.程序流程图.源代码.结果截图. 程序设计思想: 输入要加密的子串str,定义字符串长度,将字符串转化为单个字符,每个字符+3,向后移3个,每个字符-3,向前移3个,定义str1,将新得到的每个字符加到str1后,得到加密后的英文子串str1,定义str2,将新得到的每个字符加到str2后,得到解密后的英文子串str2,输出加密后的子串str1,输出解密后的子串str2

JAVA数组课后作业

1.上述代码可以顺利通过编译,并且输出一个“很奇怪”的结果:Ljava.lang.Object;@ba8a1dc,这是为什么? 由于java的Object数组不能转换成为String[]数组,这就说明你要转换的数组它本身是Object类型的数组,但是你却非要把它转换为String类的数组,这当然是错误的.在遇到类型转换出错的时候,首先要观察被转换的对象的原来类型是什么,这个就需要首先把它转换成为自己本来的类型的对象,然后根据这个对象再去操作里面的元素,再一次的转换类型,而且有的时候被分析的对象可

java继承课后作业

1.动手实验:继承条件下的构造方法调用 源代码:class Grandparent{public Grandparent(){System.out.println("GrandParent Created.");}public Grandparent(String string){System.out.println("GrandParent Created.String:"+string); }}class Parent extends Grandparent{p

java多态课后作业

一.验证 (1)子类和父类定义了一模一样的方法 ·结果是100.200.200.200.201 ·父类调用了子类的方法,但是方法中调用的变量是子类的变量 ·自我总结:子类中的方法,如果调用同名变量,则调用的是子类的. 总结: ·当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的"真实"类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法. ·这个特性实际上就是面向对象"多态"特性的

JAVA第三周课后作业

JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimi

JAVA语法基础 动手动脑及课后作业

动手动脑1: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //

动手动脑及课后作业02

1.SquareIntTest.java中不用static如何还能使用Square函数 解决方法: 2. 代码: import java.util.Scanner; public class Suiji { public static void main(String[] args) { System.out.print("请输入要输出的随机数个数:"); Scanner s = new Scanner(System.in); int num = s.nextInt(); //生成随机

java课后作业-4

一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. public class suiji { private static final int N = 200; private static final int LEFT = 40; private static final int RIGHT = 10000; private static long x0 = 1L; private long a = 1103515245L; private long c = 12345L

关于java' web杂谈(其实是课后作业1)1 网站系统开发需要掌握的技术

1 网站系统开发需要掌握的技术:(借鉴度娘)https://zhidao.baidu.com/question/1701850648247880220.html 需要掌握的有:Java(JavaEE)工程师 .NET软件工程师 外包开发工程师 网站设计和开发工程师 数据库工程师ERP/CRM/OA/B2C开发应用工程师 系统分析设计工程师 文档工程师相关知识,很多人软件专业方向性很强,很抽象,其实也不是这样的,还是由好多知识是集合着的,所以胜任的岗位,就可以说明你要掌握知识的覆盖面,我建议你还是