Collections.max(array) is Not Working - Java -


i using collections.max(array); determine largest number in selected array is. when use it, error message:

exception in thread "main" java.lang.error: unresolved compilation problem:      method max(collection<? extends t>) in type collections not applicable arguments (int)      @ array_6.main(array_6.java:23) 

my code follows:

    int input;     int highestnumber = 0;     int arraynumber = 0;       int[] intarray = new int[10];      system.out.println("this application determines highest number out of 10 inputed numbers");     system.out.println("welcome, please input first number:");     (int = 0; < 10; i++){         system.out.print(i+1 + ": ");         input = textio.getlnint();  // retrieves input         intarray[i] = input;     }      highestnumber = collections.max(arrayint);      system.out.println("highest number " + highestnumber); 

edit

i did recommended below, , message

exception in thread "main" java.lang.error: unresolved compilation problems:  type mismatch: cannot convert int[] int bound mismatch: generic method max(collection<? extends t>) of type collections not applicable arguments (list<int[]>). inferred type int[] not valid substitute bounded parameter <t extends object & comparable<? super t>>  @ array_6.main(array_6.java:24) 

appears, changed int highestnumber array. error appears:

exception in thread "main" java.lang.error: unresolved compilation problem:  bound mismatch: generic method max(collection<? extends t>) of type collections not applicable arguments (list<int[]>). inferred type int[] not valid substitute bounded parameter <t extends object & comparable<? super t>>  @ array_6.main(array_6.java:24) 

collections utility class collections api. arrayint array of int incompatible collections class offers

you try using...

highestnumber = collections.max(arrays.aslist(intarray)); 

which wraps intarray in list interface, making compatible collections api

as @louiswasserman has pointed out, above won't work, collections.max expecte object not primitive based collection.

the simplest solution might check each value it's entered, example....

for (int = 0; < 10; i++) {     system.out.print(i + 1 + ": ");     input = textio.getlnint();  // retrieves input     intarray[i] = input;     highestnumber = math.max(input, highestnumber); } 

or use arrays.sort(intarray) sort intarray , pick off last element in array, highest...

or create second loop , iterate through each element in intarray using math.max find largest value...

or create list<integer> collection , add each item intarray , use collections.max...

or use integer[] array instead of int[] array...

or create list<integer> collection instead of using arrays altogether...


Comments

Popular posts from this blog

html - Sizing a high-res image (~8MB) to display entirely in a small div (circular, diameter 100px) -

java - IntelliJ - No such instance method -

identifier - Is it possible for an html5 document to have two ids? -