A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jagon 中级黑马   /  2014-3-13 19:12  /  1331 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

帮忙查查看,为什么会出错?估计是个小错误,学了半天,头昏脑胀,我是真找不到了!

question1.jpg (158.89 KB, 下载次数: 61)

question1.jpg

评分

参与人数 1黑马币 +1 收起 理由
zzkang0206 + 1 毕老师的基础视频有讲解

查看全部评分

7 个回复

正序浏览
编译的时候,带包编译
第一种编译方法( 编译直接生成class 文件,执行需先创建包的路径)
假设当前目录为/src/java/ ,则编译命令为:javac HelloWorld.java

补充: javac 工具读取用 Java 编程语言编写的类和接口定义,并将它们编译成字节码类文件。缺省情况下,编译器将每个类文件与其源文件放在同一目录中。 此处使用缺省的javac则编译完后产生的类文件(.class文件)会在与源文件(.java文件)在同一目录下,此时编译不会产生a目录、b目录。
假设当前目录为/src/ ,则编译命令为:javac /src/java/HelloWorld.java 或者使用相对路径:javac java/HelloWorld.java 执行完该命令后, 在/src/java/ 目录下生成一个HelloWorld.class 文件。执行文件(在java 目录下新建目录a ,在a 目录下新建目录b 将HelloWorld.class 至于b 目录下;执行java a.b.HelloWorld ),必须要按照包的结构先创建目录。

第二种编译方法( 编译直接生成包的路径)
假设当前目录为/src/java/ ,则编译命令为:javac -d . HelloWorld.java

补充:javac -d . *.java 命令中的 “-d”则是设置类文件的目标目录。如果某个类是一个包的组成部分,则 javac 将把该类文件放入反映包名的子目录中,必要时创建目录。 在此处会自动创建c目录、d目录。在d目录下生成编译后的类文件(HelloWorld.class ) 。
说明:"." 为指定编译路径为当前目录;生成的HelloWorld.class 所有目录为/src/java/a/b/HelloWorld.class 。
javac -d c/d HelloWorld.java
说明:c/d 为指定编译路径为/src/java/c/d ,同样也可以写成绝对路径如javac -d d:/ HelloWorld.java ,前提是路径必须先存在;生成的HelloWorld.class 所有目录为/src/java/c/d/a/b /HelloWorld.class 。
假设当前目录为/src/ ,则编译命令为:javac -d . java/HelloWorld.java
说明:生成的HelloWorld.class 所有目录为/src/a/b/HelloWorld.class 。
javac -d java/c/d java/HelloWorld.java
说明:生成的HelloWorld.class 所有目录为/src/java/a/b/HelloWorld.class 。

第三种编译方法(先把源文件按照包结构放到指定的目录中,然后执行编译命令)
假设当前目录为/src/java/,先在目录中创建目录/a/b,然后编译命令:
javac a/b/HelloWorld.java

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报 1 0
张贺 中级黑马 2014-3-13 19:46:26
7#
运行时,把java TestDemo 改成 java cn.itheima.Demo.TestDemo
具体原因可以参照http://blog.sina.com.cn/s/blog_5163b2980100bocf.html
回复 使用道具 举报
  1. package com.itheima;
  2. import java.io.File;
  3. public class TestDemo {

  4.         public static void main(String[] args) {
  5.                 File file=new File("F:\\test\\demo.txt");
  6.                 if(file.exists()){
  7.                         file.delete();
  8.                 }else{
  9.                         try{
  10.                                 file.createNewFile();
  11.                         }catch(Exception e){
  12.                                 System.out.println("aa");
  13.                         }
  14.                 }
  15.         }
  16. }
复制代码


在方法内处理。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
往事如烟 发表于 2014-3-13 19:24
首先,并不是你包的问题,而是在你main方法上定义了一个异常抛出,删掉它throws Exception ...

不行的,不能删除异常,不然会引发新的错误,因为File file=new File();可能会产生异常,问题不在这里!
回复 使用道具 举报
本帖最后由 菜小徐 于 2014-3-13 19:31 编辑

你要把java文件放在cn/itheima/demo下面,如果你用myeclipse 的话,直接创一个cn.itheima.demo包,再把java文件放在包里面就行了。不过你是直接进入自己创的文件夹下再编译的,包名可以不写。
回复 使用道具 举报
public class TestDemo{}   这里加个public 试试,  我也不懂的行不行~~~
回复 使用道具 举报
首先,并不是你包的问题,而是在你main方法上定义了一个异常抛出,删掉它throws Exception
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马