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

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

如何獲取每個(gè)字母并使用子字符串方法將它們添加為點(diǎn)

如何獲取每個(gè)字母并使用子字符串方法將它們添加為點(diǎn)

MM們 2023-05-17 17:32:40
我一直在嘗試創(chuàng)建一種算法,每個(gè)字母都會(huì)加分。我不想使用 charAt,我想使用 substring 方法。我的問題是 String letter 似乎沒有得到每個(gè)字母,結(jié)果總是 0。有沒有辦法獲取每個(gè)字母并將其轉(zhuǎn)換為積分?public class WDLPoints{    public static void main(String[] args){        String word = "LDWWL";        System.out.println(getMatchPoints(word));    }    public static int getMatchPoints(String word) {        int points = 0;        String letter = word.substring(5);        for (int i = 0; i < word.length(); i++) {        if (letter.equals("W")) {            points+=3;        }        else if (letter.equals("D")) {            points+=1;        }        else {            points = 0;        }        }        return points;    }}
查看完整描述

4 回答

?
肥皂起泡泡

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

您可以嘗試在您的方法中進(jìn)行以下更改public static int getMatchPoints(String word):


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

    String letter = word.substring(i, i + 1);

    if (letter.equals("W")) {

        points+=3;

    }

    else if (letter.equals("D")) {

        points+=1;

    }

}

word.substring(i, i + 1)將得到一個(gè)單字母單詞,并將幫助您按照您想要的方式計(jì)算分?jǐn)?shù)。


查看完整回答
反對(duì) 回復(fù) 2023-05-17
?
茅侃侃

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

如果你想讓它變得非常簡(jiǎn)單,你可以使用String.toCharArray()然后遍歷數(shù)組char并檢查它的值:


public static int getMatchPoints(String word) {

    int points = 0;

    char[] arr = word.toCharArray();

    for (char letter : arr) {

        if (letter == 'W') {

            points += 3;

        }

        else if (letter == 'D') {

            points += 1;

        }

    }

    return points;

}

我還刪除了您的else語句,因?yàn)槟侵皇菍⒅翟O(shè)置為0循環(huán)中是否有其他字母。我想你打算讓它points += 0什么都不做,所以它可以被刪除。


示例運(yùn)行:


輸入:


字串 = "LDWWL";


輸出:


7


注意: 我知道您可能不允許使用此解決方案,但我認(rèn)為這將是有關(guān)可能性的好信息,因?yàn)樗诩夹g(shù)上不使用charAt()


另外我想指出你誤解了什么substring(5)。這將返回位置之后的所有字符5作為單個(gè)String,它不會(huì)將分隔成String不同的字符或任何東西。


查看完整回答
反對(duì) 回復(fù) 2023-05-17
?
縹緲止盈

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

你會(huì)發(fā)現(xiàn)你的可變字母始終是空字符串。這是一種更好的做事方式:


class WDLPoints

{

  public static void main(String[] args)

  {

    String word = "LDWWL";

    System.out.println(getMatchPoints(word));

  }

  // We have only one method to encode character values, all in one place

  public static int getValueForChar(int c)

  {

    switch((char)c)

    {

      case 'W': return 3;

      case 'D': return 1;

      default: return 0; //all non-'W's and non-'D's are worth nothing

    }

  }


  public static int getMatchPoints(String word)

  {

    // for all the characters in the word

    return word.chars()

    // get their integer values

      .map(WDLPoints::getValueForChar)

    // and sum all the values

      .sum();

  }

}


查看完整回答
反對(duì) 回復(fù) 2023-05-17
?
長(zhǎng)風(fēng)秋雁

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

假設(shè)您的字符串代表最近 5 場(chǎng)比賽的足球隊(duì)表現(xiàn),您可以使用以下內(nèi)容使其簡(jiǎn)單易讀:


public static int getMatchPoints(String word) {

    String converted = word.replace('W', '3').replace('D', '1').replace('L', '0');

    return converted.chars().map(Character::getNumericValue).sum();

}

這會(huì)將您的示例輸入“LDWWL”轉(zhuǎn)換為“01330”,并通過獲取其數(shù)值對(duì)每個(gè)字符求和。


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

添加回答

舉報(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)