Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将java中的导入更改为a*中的替换将使其无法工作_Java - Fatal编程技术网

将java中的导入更改为a*中的替换将使其无法工作

将java中的导入更改为a*中的替换将使其无法工作,java,Java,我试图在不依赖IDE的情况下或多或少地掌握Java,所以我在Win7的命令行模式下这样做。。。确定发生了什么。这两个source.java的工作,然后我在导入行中做了一个更改,然后得到一个错误(然后没有工作!!!)。这里有两段代码,当它开始工作时,然后是两行“运行”,然后是什么不工作 它的本质是进口的“东西.名称”,不同于进口的东西 我认为通配符字符的目的就是实现这一点 /** A class to test the CashRegister class */ import animals.Ca

我试图在不依赖IDE的情况下或多或少地掌握Java,所以我在Win7的命令行模式下这样做。。。确定发生了什么。这两个source.java的工作,然后我在导入行中做了一个更改,然后得到一个错误(然后没有工作!!!)。这里有两段代码,当它开始工作时,然后是两行“运行”,然后是什么不工作

它的本质是进口的“东西.名称”,不同于进口的东西 我认为通配符字符的目的就是实现这一点

/** 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开始的