最大数量的通用代码 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));