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

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

arraylist 中的 FizzBu??zz 解決方案

arraylist 中的 FizzBu??zz 解決方案

我被要求進(jìn)行經(jīng)典的 FizzBuzz 測(cè)試。但是,該問(wèn)題還有一項(xiàng)額外任務(wù),即在 ArrayList 中顯示結(jié)果。我知道您不能將一個(gè)整數(shù)和一個(gè)字符串值放在一個(gè)列表中。因此,這給我?guī)?lái)了問(wèn)題。我已經(jīng)嘗試將從循環(huán)中獲得的數(shù)字轉(zhuǎn)換為字符串,但是它變得太復(fù)雜了,我想也許我把事情復(fù)雜化了?;蛘撸苍S我做錯(cuò)了什么,因?yàn)槿绱撕?jiǎn)單的任務(wù)如此耗時(shí)。下面我包含了我嘗試過(guò)的最新代碼和我得到的指導(dǎo)意見(jiàn)。實(shí)現(xiàn)將獲取列表范圍并解析值以解決 FizzBuzz 問(wèn)題的循環(huán)。您需要在循環(huán)內(nèi)將成功值添加到私有類變量“私有列表范圍”。例如,while 循環(huán) 3 將等于應(yīng)該添加到 fizzBuzzList 中的 fizz。下面設(shè)置了兩個(gè)私有變量,用于保存列表和 FizzBuzz 列表。public class FizzBuzz {private List range;private List fizzBuzzList = new ArrayList();public FizzBuzz(int startOfRange, int endOfRange){    range = IntStream.rangeClosed(startOfRange, endOfRange).boxed().collect(Collectors.toList());    fizzBuzzIterator(range);}public void fizzBuzzIterator(List range){    for (int i = 1 ; i < range.size(); i++) {        if (((i % 3) == 0) && ((i % 5) == 0)) {            fizzBuzzList.add("FizzBuzz");        }        else if ((i % 3) == 0) {            fizzBuzzList.add("Fizz");        }        else if ((i % 5) == 0) {            fizzBuzzList.add("Buzz");        }        else {            fizzBuzzList.add(i);        }    }}public List getFizzBuzzList() {    return fizzBuzzList;} }下面是我應(yīng)該測(cè)試結(jié)果的測(cè)試代碼。public class FizzbuzzTests {    FizzBuzz fizzBuzz = new FizzBuzz(1,16);    @Test    public void fizzBuzzIteratorTest(){        List<String> minFizzBuzzList = List.of("1","2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz");        Assert.assertEquals(fizzBuzz.getFizzBuzzList(), minFizzBuzzList);    }}顯示的預(yù)期結(jié)果應(yīng)該采用 [1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz] 等格式。上面寫的代碼以相同的格式給出了結(jié)果,但是,區(qū)別在于一個(gè)使用“java.util.ArrayList”而另一個(gè)使用“java.util.ImmutableCollections$ListN”,因此這給了我一個(gè)錯(cuò)誤。一段時(shí)間以來(lái),我一直在嘗試解決這個(gè)問(wèn)題,但我已經(jīng)沒(méi)有什么想法可以嘗試了。任何建議都會(huì)很有幫助和贊賞。謝謝。
查看完整描述

3 回答

?
蕪湖不蕪

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

此解決方案int使用函數(shù)將 s 轉(zhuǎn)換為字符串Integer.toString(int x)。


List<String> list = IntStream.rangeClosed(startOfRange, endOfRange)

            .mapToObj(this::convert)

            .collect(Collectors.toList());

System.out.println(list);


private String convert(int number) {

    if (((number % 3) == 0) && ((number % 5) == 0)) {

        return "FizzBuzz";

    } else if ((number % 3) == 0) {

        return "Fizz";

    } else if ((number % 5) == 0) {

        return "Buzz";

    } else {

        return Integer.toString(number);

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
紅顏莎娜

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

這是一個(gè)流版本。它生成一個(gè)從 1 到 100 的封閉范圍,然后使用嵌套的三元運(yùn)算符將整數(shù)相應(yīng)地映射到適當(dāng)?shù)闹怠?/p>


      List<String> list = IntStream.rangeClosed(1, 100).mapToObj(

            n -> n % 15 == 0 ? "FizzBuzz"

                  : n % 3 == 0 ? "Fizz"

                        : n % 5 == 0 ? "Buzz"

                              : Integer.toString(n)).collect(

                                    Collectors.toList());

      System.out.println(list);


查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
千巷貓影

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

我會(huì)將所有值存儲(chǔ)到 aList<String>而不是泛型中,并利用Integer.toString()將迭代器轉(zhuǎn)換為 aString來(lái)存儲(chǔ)值。


在我的版本中,這個(gè)FizzBuzz類看起來(lái)像這樣:


private List<String> fizzBuzzList;


public FizzBuzz(int start, int end){

    fizzBuzzList = new ArrayList<>();

    this.populateFizzBuzz(start, end);

}


private void populateFizzBuzz(int start, int end){

    for (int i = start ; i < end; i++){

        if (((i % 3) == 0) && ((i % 5) == 0)) {

            fizzBuzzList.add("FizzBuzz");

        }

        else if ((i % 3) == 0) {

            fizzBuzzList.add("Fizz");

        }

        else if ((i % 5) == 0){

            fizzBuzzList.add("Buzz");

        }

        else{

            fizzBuzzList.add(Integer.toString(i));

        }

    }

}


public void printFizzBuzz(){

    for (String s : fizzBuzzList){

        System.out.println(s);

    }

}

我個(gè)人并沒(méi)有優(yōu)先使用 Java 8 流,我覺(jué)得它會(huì)使一個(gè)簡(jiǎn)單的問(wèn)題復(fù)雜化,并使它變得更加復(fù)雜。


您可以在您的main或任何靜態(tài)方法中使用它,如下所示:


FizzBuzz fb = new FizzBuzz(1, 101);

fb.printFizzBuzz();

請(qǐng)注意,101 是獨(dú)占的,而 1 是包含在內(nèi)的,因此這將從 1 迭代到 100。


查看完整回答
反對(duì) 回復(fù) 2023-05-10
  • 3 回答
  • 0 關(guān)注
  • 231 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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