最大数量的通用代码 import java.util.*; 导入java.io.*; 最大类 { tx; 公共T最大值(T a,T b) { 如果(a>b) 返回a; 其他的 返回b; } } 公共类MaxGen{ 公共静态void main(字符串[]args) { MaxIt i=新的MaxIt(); System.out.println(“输入两个整数”); INTA,b; 扫描仪sc=新的扫描仪(System.in); a=sc.nextInt(); b=sc.nextInt(); 系统输出println(a,b); } }
我在读有关泛型的书,所以我试着编写一个泛型程序来查找最多两个数字,但是当我编译这个程序时,它给了我一个错误,告诉我-二进制运算符'>'的操作数类型不正确。最大数量的通用代码 import java.util.*; 导入java.io.*; 最大类 { tx; 公共T最大值(T a,T b) { 如果(a>b) 返回a; 其他的 返回b; } } 公共类MaxGen{ 公共静态void main(字符串[]args) { MaxIt i=新的MaxIt(); System.out.println(“输入两个整数”); INTA,b; 扫描仪sc=新的扫描仪(System.in); a=sc.nextInt(); b=sc.nextInt(); 系统输出println(a,b); } },java,Java,我在读有关泛型的书,所以我试着编写一个泛型程序来查找最多两个数字,但是当我编译这个程序时,它给了我一个错误,告诉我-二进制运算符'>'的操作数类型不正确。 你能告诉我这段代码有什么问题吗?你应该使用compariable,你可以使方法静态,并且它可以接受不同数量的参数。大概 import java .util.*; import java.io.*; class MaxIt<T extends Number > { T x; public T maxi(T a,T b
你能告诉我这段代码有什么问题吗?你应该使用
compariable
,你可以使方法静态
,并且它可以接受不同数量的参数。大概
import java .util.*;
import java.io.*;
class MaxIt<T extends Number >
{
T x;
public T maxi(T a,T b)
{
if(a>b)
return a;
else
return b;
}
}
public class MaxGen{
public static void main(String[] args)
{
MaxIt<Integer> i=new MaxIt<Integer>();
System.out.println("enter two integer ");
int a,b;
Scanner sc=new Scanner(System.in);
a=sc.nextInt();
b=sc.nextInt();
System.out.println(a,b);
} }
public static <T extends Comparable<? super T>> T maxi(T... vals) {
if (vals == null || vals.length == 0) {
return null;
}
T m = vals[0];
for (int i = 1; i < vals.length; i++) {
if (m.compareTo(vals[i]) < 1) {
m = vals[i];
}
}
return m;
}
您使用了局部变量,但未对其进行初始化。这不应编译。可能的重复项您不能使用
确定,现在它正在工作。但我无法理解两件事。1.1。2.因为Java没有。
System.out.println(maxi(a,b));