亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何找到大整數數組列表的最小和最大元素?

如何找到大整數數組列表的最小和最大元素?

慕斯王 2022-09-28 15:41:13
如何找到 的 最小和最大元素。ArrayListBigIntegers我嘗試過的是:import java.math.BigInteger; import java.io.*;import java.util.*;public class HelloWorld{     public static void main(String []args){         BigInteger i1 = new BigInteger("4343345345345");         BigInteger i2 = new BigInteger("4343453345345345");         BigInteger i3 = new BigInteger("4343453345");        List<BigInteger> list = new ArrayList<>();        list.add(i1);        list.add(i2);        list.add(i3);       BigInteger max = list.stream().max(Comparator.comparing(BigInteger::intValue())).orElseThrow(NoSuchElementExcep::new);                BigInteger min = list.stream().min(Comparator.comparing(BigInteger::intValue())).orElseThrow(NoSuchElementExcep::new);      System.out.println(max.intValue());      System.out.println(min.intValue());     }}但這給了我以下錯誤:HelloWorld.java:20: error: ')' expected        BigInteger min = list.stream().min(Comparator.comparing(BigInteger::intValue())).orElseThrow(NoSuchElementExcep::new);                                                                                    ^HelloWorld.java:20: error: ';' expected        BigInteger min = list.stream().min(Comparator.comparing(BigInteger::intValue())).orElseThrow(NoSuchElementExcep::new);                                                                                     ^HelloWorld.java:20: error: illegal start of expression        BigInteger min = list.stream().min(Comparator.comparing(BigInteger::intValue())).orElseThrow(NoSuchElementExcep::new);                                                                                      ^HelloWorld.java:20: error: ';' expected        BigInteger min = list.stream().min(Comparator.comparing(BigInteger::intValue())).orElseThrow(NoSuchElementExcep::new);                                                                                       ^還有其他想法嗎?
查看完整描述

3 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

獲取最小值和最大值確實可以在不比較 s 的情況下工作。您應該使用自然排序:intValue

BigInteger max = list.stream().max(BigInteger::compareTo).orElseThrow(NoSuchElementExcep::new);        
BigInteger min = list.stream().min(BigInteger::compareTo).orElseThrow(NoSuchElementExcep::new);

同樣沒有的是,您正在打印值:

System.out.println(max.intValue());
System.out.println(min.intValue());

您正在調用方法,但該號碼超出了 (32b) 的容量。您應該使用:intValueint

System.out.println(max);
System.out.println(min);


查看完整回答
反對 回復 2022-09-28
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

只需做


BigInteger max = list.stream().max(BigInteger::compareTo).get();

BigInteger min = list.stream().min(BigInteger::compareTo).get();


查看完整回答
反對 回復 2022-09-28
?
森林海

TA貢獻2011條經驗 獲得超2個贊

答案是:


import java.io.*;

import java.util.*;



public class HelloWorld{


     public static void main(String []args){

         BigInteger i1 = new BigInteger("4343345345345");

         BigInteger i2 = new BigInteger("4343453345345345");

         BigInteger i3 = new BigInteger("22");


        List<BigInteger> list = new ArrayList<>();


        list.add(i1);

        list.add(i2);

        list.add(i3);



        System.out.println(Collections.min(list, Comparator.naturalOrder()));


     }

}


查看完整回答
反對 回復 2022-09-28
  • 3 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號