在老师的要求下,我开始学习package的使用方法。在经过查找后,我感觉package的使用方法并不难,但是等到我实际操作时,就发现这其实并不如我想象的那样简单。
package的使用方法可以参考Java中package(包)的总结(一)
我们拿上一篇文章中的题目举例,代码如下:
Data.java//数据的输入输出及计算
package com.data;
import java.util.Scanner;
public class Data
{
static double price = 0; //购物券的金额
static double needMoney = 0; //实际金额
public static void in_out()
{
System.out.println("请输入总金额");
Scanner in = new Scanner(System.in);
double money = in.nextDouble();
if(money >= 1000)
{
needMoney = money * 0.8;
price = 200;
}
else if(money >= 500)
{
needMoney = money * 0.85;
price = 100;
}
else if(money >= 300)
{
needMoney = money * 0.9;
price = 70;
}
else
{
needMoney = money * 0.95;
}
System.out.println("实际金额为:" +needMoney);
System.out.println("购物券金额为:" +price);
}
}
Main.java
package com.main;
import com.data.*;
public class Main
{
public static void main(String[] args)
{
Data fin = new Data(); //创建一个对象来调用Data中的方法
fin.in_out();
}
}
我先将计算和输入输出的类合为了一个类Data,然后将含有main方法的类与另外的类分别放在个文件夹中两个文件夹main和data中,但是在编译main中的主类时,出现了这样的报错,程序包不存在。
在百度上搜索了一段时间后,我终于找到了解决方法,我们可以用javac -cp ../..来进行编译,用java -cp ../..来运行,运行结果如下:
注意,在运行时,需要将主类所在的包的名字加上。
比如我的主类在com.main中,运行时就需要输入java -cp ../.. com.main.Main才可以运行,否则会报错。
参考:创建和使用自定义包时遇到的一些问题(已解决)



