当我尝试运行下面的代码时,编译器会生成
线程"main"中的异常java.lang.RuntimeException:无法编译的源代码 - 错误的sym类型:JTOGenerics.ArrayCode.countGreaterThan at JTOGenerics.ArrayCode.main(ArrayCode.java:17)Java结果:1
代码行下面有一条红线:int av = ArrayCode.countGreaterThan(marks,10);
我是Java的新手,由于我的知识有限,我试过并找不到错误,有人可以帮帮我吗?提前谢谢了!!
public class ArrayCode<T> implements Comparable<T> {
public static void main(String[] args) {
Integer[] marks = new Integer[] {12, 0, 15, 18, 4};
int av = ArrayCode.countGreaterThan(marks, 10);
System.out.println("the number of Marks that are greater than 10 is: " + av);
}
public static <T extends Comparable<T>> int countGreaterThan(T[] anArray, T elem) {
int count = 0;
for (T e : anArray) {
if (((Comparable<T>)e).compareTo(elem) > 0) {
++count;
} …Run Code Online (Sandbox Code Playgroud) 我是java新手,无法理解下面示例中显示的一些基本原则.有人可以在下面的代码的上下文中解释l = inputStream.readLine())!= null的含义吗?非常感谢您的帮助.
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.IOException;
public class CopyLines {
public static void main(String[] args) throws IOException {
BufferedReader inputStream = null;
PrintWriter outputStream = null;
try {
inputStream = new BufferedReader(new FileReader("xanadu.txt"));
outputStream = new PrintWriter(new FileWriter("characteroutput.txt"));
String l;
while ((l = inputStream.readLine()) != null) {
outputStream.println(l);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我目前正在官方的Oracle网站上学习java,我复制粘贴下面的代码.代码没有任何问题,但问题是我不知道如何使用它.假设它是一种计算数组中元素数量T[]大于指定元素elem的方法.有人可以告诉我一个如何使用这种方法的例子吗?
public static <T extends Comparable<T>> int countGreaterThan(T[] anArray, T elem) {
int count = 0;
for (T e : anArray) {
if (e.compareTo(elem) > 0) {
++count;
}
}
return count;
}
public interface Comparable<T> {
public int compareTo(T o);
}
Run Code Online (Sandbox Code Playgroud)