corejava_day01_串讲作业

  1. 修正 Test1.java 、 Test2.java 、 Test3.java 、 Test4.java ,四个java源文 件中的错误,使其能够编译和运行;
public class Test1 {
 	public static void main(String[] args) {
		System.out.println("What's wrong with this program?");
		}
}
public class TestAnother1 {
	public static void main(String[] args) {
		System.out.println("What's wrong with this program?");
	}
}
/**
 *删除TestAnother1类的public修饰符。因为public表示的是这个.java文件中存在公开的对外接口,
 *.java文件编译形成.class文件后,类加载器加载这个类时,就会根据类的全限定名到指定包下的类中,
 *然后进入public修饰的类中的固定入口main方法去执行代码。
 *所以public修饰的类必须和文件名相同,并且只能有一个类被public修饰。
 */
public class Testing2 {
	public static main(String[] args) {
		System.out.println("What's wrong with this program?");
	}
}
/**
 *1.把Testing2修改成Test2,或者把Test2.java文件修改成Testing2.java。
 *2.main方法要加上返回类型void,只有构造器没有返回值类型。
 */
public class Test3 {
	public static void main(String args) {
		System.out.println("What's wrong with this program?");
	}
}
/**
 * main方法的形参(String类型)String要改成(String数组类型)String[]或者(可变参数列表)String...。
 */
public class Test4 {
	public void main(String[] args) {
		System.out.println("What's wrong with this program?");
	}
}
/**
 * main方法要加上static修饰符。因为static修饰的方法不需要实例化对象就可以调用,main作为程序入口不可能先对其实例化,
 * 所以用static修饰就可以实现类名.方法名的方法直接调用。
 */
  1. 找零问题:有2元,买东西花了1.1元,问找零多少?
package com.briup.day01;
import java.math.BigDecimal;
/*
 * 找零问题:有2元,买东西花了1.1元,问找零多少?
 */
public class Test2 {
	public static void main(String[] args) {
//		System.out.println(2-1.1);//0.8999999999999999
//		int a = 2;
//		float b = 1.1f;
//		double c = 1.1;
//		System.out.println("找零="+(a-b));//0.9
//		System.out.println("找零="+(a-c));//0.8999999999999999
		BigDecimal bg1 = new BigDecimal("2");
		BigDecimal bg2 = new BigDecimal("1.1");
		System.out.println("找零:"+bg1.subtract(bg2));
	}
}

直接输出(2-1.1)时,2默认是int类型,1.1默认是double类型;但1.1不能精确的表示成一个double
1.把1.1定义成和int相同字节数的float;
2.BigDecimal类的方法:加法add,除法divide,乘法multiply,减法subtract。
3.贪心算法

  1. 基本类型和引用类型的区别?
    核心区别:是否可以指向对象。
    (1)基本数据类型:
    值是不可变的;
    不可以添加属性和方法;
    赋值是简单赋值;
    基本数据类型的比较是值的比较;
    存放在栈区中。
    (2)引用类型:
    值可以改变的;
    可以添加属性和方法;
    赋值是对保存在栈区中的引用的赋值;
    引用类型的比较是比较引用指向的地址值是否相等;
    引用类型同时保存在栈区和堆区中:栈区中保存的是变量的标识符,堆区中保存的是变量的地址值。

  2. 使用多条System.out.println语句输出以下内容
    要求: 1)实现表头, 是固定数据,直接写输出语句
    2)表格中间, 商品数据,采用变量形式 定义变量,找对数据类型,输出所有变量
    3)表格尾巴, 一部分数据固定,另一部分,商品数据进行数学计算

package com.briup.day01;
import java.math.BigDecimal;
/*
 * 4.使用多条System.out.println语句输出以下内容
----------商品库存清单----------
品牌型号	尺寸	价格	库存数
MacBookAir	13.3	5699.0	5
ThinkPadT490	14.0	8499.0	10
MateBook 14	14.0	7199.0	18
-----------------------------
总库存数:33
商品库存总金额:243067.0
 * 要求: 1)实现表头, 是固定数据,直接写输出语句
 * 2)表格中间, 商品数据,采用变量形式 定义变量,找对数据类型,输出所有变量 
 * 3)表格尾巴, 一部分数据固定,另一部分,商品数据进行数学计算
 */
public class Test4 {
	public static void main(String[] args) {
		System.out.println("----------商品库存清单----------");
		System.out.println("品牌型号" + "\t" + "尺寸" + "\t" + "价格" + "\t" + "库存数");
		String brand1 = "MacBookAir";
		String brand2 = "ThinkPadT490";
		String brand3 = "MateBook 14";
		double size1 = 13.3;
		double size2 = 14.0;
		double size3 = 14.0;
//		double price1 = 5699.0;
//		double price2 = 8499.0;
//		double price3 = 7199.0;
//		int num1 = 5;
//		int num2 = 10;
//		int num3 = 18;
		BigDecimal price1 = new BigDecimal("5699.0");
		BigDecimal price2 = new BigDecimal("8499.0");
		BigDecimal price3 = new BigDecimal("7199.0");
		BigDecimal num1 = new BigDecimal("5");
		BigDecimal num2 = new BigDecimal("10");
		BigDecimal num3 = new BigDecimal("18");
		System.out.println(brand1 + "\t" + size1 + "\t" + price1 + "\t" + num1);
		System.out.println(brand2 + "\t" + size2 + "\t" + price2 + "\t" + num2);
		System.out.println(brand3 + "\t" + size3 + "\t" + price3 + "\t" + num3);
		System.out.println("-----------------------------");
		BigDecimal count = num1.add(num2).add(num3);
		System.out.println("总库存数:" + count);
		BigDecimal sum = (num1.multiply(price1)).add(num2.multiply(price2)).add(num3.multiply(price3));
		System.out.println("商品库存总金额:" + sum);
//		int count = num1 + num2 + num3;
//		System.out.println("总库存数:" + count);
//		double sum = price1 * num1 + price2 * num2 + price3 * num3;
//		System.out.println("商品库存总金额:" + sum);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值