java的package和import的关系问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 11:27:25
我有一使用文件use.java
而abc.def目录底下有一package名称为pag.java
目录确定没有问题
想知道要怎么改写包装pag.java
让use.java能用它,且正确遍译并执行?
use.java只是一个假设例子

这是原始码
pag.java

package abc.def;
public class pag {
public static void main(String[] args) {
int[] table = {
0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,
0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,
(…因为太长了,请到http://hi.baidu.com/snail_space/blog/item/17c36908b90792c93ac7635b.html 复制完整)

};
byte[] bytes = args[0].getBytes();
int crc = 0x0000;
for (byte b : bytes) {
crc = (crc >>> 8) ^ table[(crc ^ b) & 0xff];
}
System.out.println("CRC16 = " + Integer.toHexString(crc));
}

这样修改use.java就调用了pag.java
use.java

import abc.def.*;
public class use
{
public static void main(String[] args) {
//crc.print() ;
pag.main(null); // 这里null换成你需要的String数组
}
}

第二个问题:
for (byte b : bytes) 跟for(int i=0;i<bytes.length-1;i++)
的功能是一样的.

import abc.def.*;
这样就已经能用了,感觉麻烦不要导入就直接把use和pag类放到一个包里就行了,最懒的方法。
(byte b : bytes)
这个是新型FOR循环, 把 BYTES给B
for(int i=0;i<bytes.length ;i++)
i从0开始加一直到BYTES的长度-1;
不一样。

你问的问题说得不太清楚,for (byte b : bytes) 跟for(int i=0;i<bytes.length ;i++) 功能是一样的

应该是循环边界的 问题。