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

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

從字符串中提取逗號(hào)分隔的值

從字符串中提取逗號(hào)分隔的值

慕妹3242003 2022-09-22 20:07:53
我正在嘗試從字符串下方打印逗號(hào)分隔值A(chǔ),B,C,D,E這是我的代碼String Inp = "A,B,C,D,E";StringBuilder op = new StringBuilder();int Idx = 0;int IdxUpto = 0;for(;;){  IdxUpto = Inp.indexOf(",", Idx);  if(IdxUpto==-1){    System.out.println("There is no more commas in String");    op.append(Inp.substring(Idx, Inp.length()));    System.out.println(op);    break;  }  op.append(Inp.substring(Idx, IdxUpto));  Idx = IdxUpto;  System.out.println(op);}   對(duì)于循環(huán)在第一次提取后沒有得到停止,任何人都可以幫助我做錯(cuò)了什么?編輯:預(yù)期輸出ABCDE謝謝
查看完整描述

3 回答

?
慕碼人8056858

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

下面是代碼中令人反感的行:


Idx = IdxUpto;

您應(yīng)該遞增加一,以考慮到您還必須前進(jìn)超過寬度為 1 的逗號(hào)分隔符。所以使用這個(gè):


Idx = IdxUpto + 1;

但請(qǐng)注意,您還有其他幾個(gè)問題。首先,您應(yīng)該遵循Java約定,避免以大寫字母開頭的變量名稱。此外,在這里使用循環(huán)可能比不使用指定條件的循環(huán)更有意義。考慮到所有這些因素,以下是腳本的工作版本:whilefor


String input = "A,B,C,D,E";

StringBuilder op = new StringBuilder();

int idx = 0;

int idxUpto = 0;

do {

    idxUpto = input.indexOf(",", idx);

    if (idxUpto == -1) {

        String term = input.substring(idx, input.length());

        op.append(term);

        System.out.println(term);

        System.out.println("There is no more commas in String");

        break;

    }

    String term = input.substring(idx, idxUpto);

    op.append(term);

    idx = idxUpto+1;

    System.out.println(term);

} while(true);


A

B

C

D

E

There is no more commas in String


查看完整回答
反對(duì) 回復(fù) 2022-09-22
?
汪汪一只貓

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

您可以簡單地使用如下方法:String.split()


public class StringSplit {

  public static void main(String[] args) {

    String input = "A,B,C,D,E";

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

    for (String letter : array) {

      System.out.println(letter);

    }

  }

}

輸出:


A

B

C

D

E


查看完整回答
反對(duì) 回復(fù) 2022-09-22
?
慕后森

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

字符串的 api 表示如下:indexof

返回此字符串中第一次出現(xiàn)的指定子字符串的索引,從指定的索引開始。

當(dāng)您輸入 for 條件時(shí),索引為 1(找到第一個(gè)逗號(hào)的索引位置)。現(xiàn)在,您要做的是將Idx設(shè)置為此索引,如下所示:

Idx = IdxUpto;

現(xiàn)在,由于api的索引開始從該索引中搜索逗號(hào),它一直說我在索引1處找到,并且您繼續(xù)嘗試在索引1處搜索逗號(hào)。要解決此問題,請(qǐng)嘗試添加如下方法:

Idx = IdxUpto + 1;

需要注意的幾件事:

一個(gè)。使用駝峰大小寫變量命名約定。
(二)您正在追加到字符串生成器,如果您需要按預(yù)期的所需輸出,則語句應(yīng)更改為:println

System.out.println(Inp.substring(Idx, IdxUpto));//mutate Idx assignment after this print statement.


查看完整回答
反對(duì) 回復(fù) 2022-09-22
  • 3 回答
  • 0 關(guān)注
  • 164 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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