2016-05-15 43 views
-1

这两个运营商如何运作?一直试图看看他们将如何实施。它会和找到最大值和最小值一样吗?即时通讯尝试执行>和<在Java中,但即时通讯有点困惑如何。我已经完成了最小/最大的实现,我认为这将是相同的。所以如果我有一个列表,并希望所有数字大于4.那么我该怎么做?实施大于/小于运营商

这就是我试图用

public int getMax(ArrayList list){ 
    int max = Integer.MIN_VALUE; 
    for(int i=0; i<list.size(); i++){ 
     if(list.get(i) > max){ 
      max = list.get(i); 
     } 
    } 
    return max; 
} 
+0

http://www.tutorialspoint.com/java/java_basic_operators.htm –

+0

第一,你*不能*在Java中实现'>'和'<'。它们是仅处理数字基元值的内置运算符。 [JLS 15.20.1](https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.20.1):*“每个操作数的类型数值比较操作符必须是可以转换(§5.1.8)为**原始数值类型**的类型。“*第二,您的代码不能编译,因为'ArrayList'是原始的*( )*,所以'get(i)'是一个'Object',导致编译错误:*运算符>未定义为参数类型(s)Object,int *。 – Andreas

回答

0

工作,我的意思并不是无礼,但我认为你应该从地面启动,这是非常基本的。至于你的问题,如果你有一个数组的数组,你只需要遍历数组并逐个检查它们。

至于你的问题,借此,例如:

情况1:<

int a = 1; 
int b = 3; 
If (a < b) { 
    System.out.println("yay"); 
} else { 
    System.out.println("AWW man!"); 
} 

由于1确实是小于3,则(一个< b)是真,这意味着“耶“将被打印在控制台中。

情况2:>

int a = 1; 
int b = 3; 
If (a > b) { 
    System.out.println("yay"); 
} else { 
    System.out.println("AWW man!"); 
} 

由于1不大于3,则(A> B)返回假,这意味着 “噢人!”将被打印在控制台中。

现在我们已经建立了这样,找到一个数组中最小的数字,这是我们应该做的:

int[] myList = {6, 2, 9, 40, 1}; 
int lowestNum = Integer.MAX_VALUE; 
for (int i = 0; i<myList.length; i++) { 
    if (lowestNum > myList[i]) { 
     lowestNum = myList[i]; 
    } 
} 
+0

非常感谢,我不知道为什么我不能弄清楚这一点。我很感激 – henryzo

+0

Pleasure's mine :) – TwiN