java 纠错题_java题目纠错

题目importjava.io.*;publicclassListFile{publicstaticvoidmain(Stringargs[]){Listfilef=newListfile();f.setExtendsName("java");f.setPath("I:/java");StringBuffers=f.getAllFil...

题目import java.io.*;

public class ListFile

{

public static void main(String args[])

{

Listfile f=new Listfile();

f.setExtendsName("java");

f.setPath("I:/java");

StringBuffer s=f.getAllFileName();

System.out.println(s);

}

}

class Listfile

{

String extendsName,path="";

StringBuffer allFileName;

public Listfile()

{

allFileName=new StringBuffer();

}

public void setExtendsName(String s)

{

extendsName=s;

}

public String getExtendsName()

{

return extendsName;

}

public void setPath(String path)

{

this.path=path;

}

public String getPath()

{

return path;

}

public StringBuffer getAllFileName()

{

if(path.length()>0)

{

File dir=new File(path);

FileName wantName=new FileName(extendsName);

String fileName[]=dir.list(wantName);

for(int i=0;i

{

allFileName.append("
"+fileName[i]);

}

}

return allFileName;

}

}

class FileName implements FilenameFilter

{

String str=null;

FileName(String s)

{

str="."+s;

}

public boolean accept(File dir,String name)

{

return name.endsWith(str);

}

}

错误提示

------------------Configuration: --------------------

Process completed.

输出结果

--------------------Configuration: --------------------

java.lang.NoClassDefFoundError: ListFile (wrong name: Listfile)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:621)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

at java.net.URLClassLoader.access$000(URLClassLoader.java:56)

at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

Could not find the main class: ListFile. Program will exit.

Exception in thread "main"

Process completed.

文件名是正确的

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中可以使用现成的库来实现纠错码技术。下面以海明码为例,介绍Java中如何使用纠错码。 Java中提供了一个HammingCode类,可以用于生成和校验海明码。下面是一个简单的示例代码: ```java import org.apache.commons.math3.util.ArithmeticUtils; import org.apache.commons.math3.util.CombinatoricsUtils; import org.apache.commons.math3.util.MathUtils; public class HammingCode { private int m; private int r; private int n; public HammingCode(int r) { this.r = r; this.m = (int) Math.pow(2, r) - 1; this.n = m - r; } public int[] encode(int[] data) { int[] code = new int[n + r]; int j = 0; for (int i = 0; i < n + r; i++) { if (MathUtils.isPowerOfTwo(i + 1)) { code[i] = 0; } else { code[i] = data[j]; j++; } } for (int i = 0; i < r; i++) { int parity = 0; for (int k = 0; k < n + r; k++) { if (((k + 1) & (1 << i)) == (1 << i)) { parity ^= code[k]; } } code[(int) Math.pow(2, i) - 1] = parity; } return code; } public int[] decode(int[] code) { int[] data = new int[n]; int error = 0; for (int i = 0; i < r; i++) { int parity = 0; for (int k = 0; k < n + r; k++) { if (((k + 1) & (1 << i)) == (1 << i)) { parity ^= code[k]; } } if (parity != 0) { error += (int) Math.pow(2, i); } } if (error != 0) { code[error - 1] ^= 1; } int j = 0; for (int i = 0; i < n + r; i++) { if (!MathUtils.isPowerOfTwo(i + 1)) { data[j] = code[i]; j++; } } return data; } public static void main(String[] args) { int[] data = {1, 0, 1, 1}; HammingCode hamming = new HammingCode(3); int[] code = hamming.encode(data); code[2] = 0; // 模拟一个错误 int[] decoded = hamming.decode(code); System.out.println("原始数据:"); for (int i = 0; i < data.length; i++) { System.out.print(data[i] + " "); } System.out.println(); System.out.println("编码后的数据:"); for (int i = 0; i < code.length; i++) { System.out.print(code[i] + " "); } System.out.println(); System.out.println("解码后的数据:"); for (int i = 0; i < decoded.length; i++) { System.out.print(decoded[i] + " "); } System.out.println(); } } ``` 这个示例代码中,我们使用Apache Commons Math库中的工具类来实现海明码的编码和解码。在main方法中,我们创建了一个海明码对象,然后对一个数组进行编码,并模拟了一个错误。接着,我们对编码后的数据进行解码,并输出解码后的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值