将java中的导入更改为a*中的替换将使其无法工作
我试图在不依赖IDE的情况下或多或少地掌握Java,所以我在Win7的命令行模式下这样做。。。确定发生了什么。这两个source.java的工作,然后我在导入行中做了一个更改,然后得到一个错误(然后没有工作!!!)。这里有两段代码,当它开始工作时,然后是两行“运行”,然后是什么不工作 它的本质是进口的“东西.名称”,不同于进口的东西 我认为通配符字符的目的就是实现这一点将java中的导入更改为a*中的替换将使其无法工作,java,Java,我试图在不依赖IDE的情况下或多或少地掌握Java,所以我在Win7的命令行模式下这样做。。。确定发生了什么。这两个source.java的工作,然后我在导入行中做了一个更改,然后得到一个错误(然后没有工作!!!)。这里有两段代码,当它开始工作时,然后是两行“运行”,然后是什么不工作 它的本质是进口的“东西.名称”,不同于进口的东西 我认为通配符字符的目的就是实现这一点 /** A class to test the CashRegister class */ import animals.Ca
/** A class to test the CashRegister class */
import animals.CashRegister;
public class ImaMain
{
public static void main(String[] args)
{
CashRegister register = new CashRegister();
register.recordPurchase(29.50);
register.recordPurchase(9.25);
register.enterPayment(50);
double change = register.giveChange();
System.out.println(change);
}
}
这是主要的可运行部分。下面是它在另一个名为cashrister.java的文件中使用的类:makes cashrister.class
package animals;
/**
A cash register totals up sales and computes change due.
*/
public class CashRegister
{
public CashRegister()
{
purchase = 0;
payment = 0;
}
public void recordPurchase(double amount)
{
double total = purchase + amount;
purchase = total;
}
public void enterPayment(double amount)
{
payment = amount;
}
public double giveChange()
{
double change = payment - purchase;
purchase = 0;
payment = 0;
return change;
}
private double purchase;
private double payment;
}
我准备的是
javac *.java
很高兴,我将创建的.class文件复制到子目录“animals”下,返回一个级别并运行它:
java ImaMain
11.25
答案是11.25。完全正确?
我删除了Parelle level.class,这样就可以在subdir:animals中找到我期望的类文件
现在,我将这一行的主要内容更改为,为更复杂的Stufhola方法做准备:
/** A class to test the CashRegister class */
import animals.*;
public class ImaMain
{
public static void main(String[] args)
{
CashRegister register = new CashRegister();
register.recordPurchase(29.50);
register.recordPurchase(9.25);
register.enterPayment(50);
double change = register.giveChange();
System.out.println(change);
}
}
换一行。从导入动物。收银机代码>
-到-
进口动物。*代码>
javac然后生成以下错误:
bad class file: .\CashRegister.class
class file contains wrong class: animals.CashRegister
1 error
甚至没有进入虚拟运行步骤
主部件文件名为:ImaMain.java
我将.class文件复制到它所在的位置。我的意思是,当导入更明确时,它确实起作用
classpath = .;C:\java\jdk1.7.0_05\lib
您在子目录animals中时调用了java
,或者将cashrister.class
文件向上移动
这与更改导入行无关。您在子目录animals中调用了java
,或者将cashrister.class
文件向上移动
这与更改导入行无关。根据您的解释,这没有意义,但此错误:
bad class file: .\CashRegister.class
class file contains wrong class: animals.CashRegister
1 error
错误的类文件:。\cashrister.class
类文件包含错误的类:animals.cashrister
1错误
使目录结构看起来不正确。此文件必须位于如下子目录中:
\animates\cashlister
使用dir
或ls
目录列表工具验证相对于javac-cp的路径是否正确代码>命令是正确的。根据您的解释,这没有意义,但此错误:
bad class file: .\CashRegister.class
class file contains wrong class: animals.CashRegister
1 error
错误的类文件:。\cashrister.class
类文件包含错误的类:animals.cashrister
1错误
使目录结构看起来不正确。此文件必须位于如下子目录中:
\animates\cashlister
使用dir
或ls
目录列表工具验证相对于javac-cp的路径是否正确代码>命令正确
我将创建的.class文件复制到子目录:“animals”
是的,但是你把原件留在了你开始使用的目录中。现在有两个cashrister.class文件,一个在顶级目录中,一个在子目录中。再次运行javac
时,它会看到存在一个cashrister.class文件,但它包含一个名为animals.cashrister
的类,该类应位于animals/cashrister.class
中
您可以将带有-d
标志的收银机编译为javac
,它将告诉收银机将生成的.class
文件放在哪里。这样,您就不必自己手动将文件复制到子目录中
javac-d。cashrister.java
这将把cashrister.class文件放在当前目录下的animals
目录中
我将创建的.class文件复制到子目录:“animals”
是的,但是你把原件留在了你开始使用的目录中。现在有两个cashrister.class文件,一个在顶级目录中,一个在子目录中。再次运行javac
时,它会看到存在一个cashrister.class文件,但它包含一个名为animals.cashrister
的类,该类应位于animals/cashrister.class
中
您可以将带有-d
标志的收银机编译为javac
,它将告诉收银机将生成的.class
文件放在哪里。这样,您就不必自己手动将文件复制到子目录中
javac-d。cashrister.java
这将把cashrister.class文件放在当前目录下的animals
目录中。不清楚这些文件实际存在的位置,或者它们是从哪里编译而来的。无论哪种方式,都存在不匹配。/**一个用于测试收银机类/导入动物的类。;public类ImaMain{public static void main(String[]args){cashrister register=new cashrister();register.recordPurchase(29.50);register.recordPurchase(9.25);register.enterPayment(50);double change=register.giveChange();System.out.println(change)}ImaMain.java位于子目录C:\temp_72cashrister.class位于C:\temp_72\animates中。java是从C:\temp_72开始的。不清楚文件实际存在于何处,也不清楚它们是从何处编译的。无论哪种方式,都存在不匹配。/**一个用于测试收银机类/导入动物的类。;public类ImaMain{public static void main(String[]args){cashrister register=new cashrister();register.recordPurchase(29.50);register.recordPurchase(9.25);register.enterPayment(50);double change=register.giveChange();System.out.println(change)}ImaMain.java位于子目录C:\temp\u 72cashrister.class位于C:\temp\u 72\animates中。java是从C开始的