第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何排序通過 Java 輸入作為字符串接收的 int 數(shù)組/列表

如何排序通過 Java 輸入作為字符串接收的 int 數(shù)組/列表

慕萊塢森 2023-04-19 16:11:07
我正在嘗試測試我的技能,并且我嘗試進(jìn)行測試。我收到以下輸入:[7,11,10,6,9][21,24,25,23,26][116,115,117,120,121,119]我需要對所有這些值進(jìn)行排序。我嘗試執(zhí)行以下操作:BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] parts = null; List<String> linhas = new ArrayList<>();for (int i = 0; i < 3; i++) {     String line = br.readLine();     line = line.replace("[","");     line = line.replace("]","");     line = line.replace(" ","");     System.out.println(line);     parts = line.split(","); }這樣我就可以顯示輸出7,11,10,6,921,24,25,23,26116,115,117,120,121,119“String[parts]”獲得了所有值,但我不知道如何對其進(jìn)行排序,因?yàn)椤皃arts”參數(shù)在“for 循環(huán)”中。如何將其轉(zhuǎn)換為 int/Integer 并對每一行進(jìn)行排序?
查看完整描述

3 回答

?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

假設(shè)[7,11,10,6,9]是輸入,我們可以嘗試轉(zhuǎn)換為整數(shù)列表,然后對該列表進(jìn)行排序:


String input = "[7,11,10,6,9]";

input = input.replaceAll("\\[(.*)\\]", "$1");

String[] vals = input.split(",");

List<Integer> output = Arrays.stream(vals)

    .map(v -> Integer.parseInt(v))

    .collect(Collectors.toList());

Collections.sort(output);

System.out.println(Arrays.toString(output.toArray()));

這打?。?/p>


[6, 7, 9, 10, 11]


查看完整回答
反對 回復(fù) 2023-04-19
?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以replace()一次完成這些行并使用正則表達(dá)式更干凈地拆分:


parts = line.split("[\\[\\], ]+");

并使用 cameron1024 在他的回答中演示的 Iterable 技術(shù)。我認(rèn)為Iterable對于此用例,using 是比 using 更好的選擇Streams,因?yàn)檩斎氪笮》浅P〔⑶襍treams必須花費(fèi)更多時(shí)間來啟動。


整個(gè)事情看起來像:


BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String[] parts;

List<String> linhas = new ArrayList<>();


for (int i = 0; i < 3; i++) {

    String line = br.readLine();

    parts = line.split("[\\[\\] ,]+");

}


int ints[] = new int[parts.length];


for(int i = 0; i < parts.length; i++){

    ints[i] = Integer.parseInt(parts[i]);

}

Arrays.sort(ints);


查看完整回答
反對 回復(fù) 2023-04-19
?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊

一旦你有了,parts你必須把它轉(zhuǎn)換String[]成一個(gè)int[]. 為此,首先為要輸入的結(jié)果創(chuàng)建一個(gè) int[]。它必須與您的大小相同String[]:


int[] ints = new int[parts.length];

然后,遍歷String[]并在 中填充值int[]:


for (int i = 0; i < parts.length; i++) {

    ints[i] = Integer.parseInt(parts[i]);  // converts a string containing an integer into its int value

}

最后,要對每一行進(jìn)行排序,只需調(diào)用 即可對Arrays.sort(ints);整數(shù)數(shù)組進(jìn)行排序。


獎金:


這可以使用 Java 8 Streams 在一行中更干凈地實(shí)現(xiàn),如下所示:


List<Integer> sortedInts = Arrays.stream(parts).map(Integer::parseInt).sorted().collect(Collectors.toList());



查看完整回答
反對 回復(fù) 2023-04-19
  • 3 回答
  • 0 關(guān)注
  • 145 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號