我試圖通過使用 for 回圈來減少字串陣列。這是我嘗試做的一個例子
User string input: Calculus
User input:5
output: CalcuCalcCalCaC
我已將字串轉換為字符陣列,但在嘗試多次列印它們時會出現問題。它只列印一次并具有正確的起始輸出。
input string: Oregon
input number: 4
output: Oreg
我注意到我的 for 回圈說當我將滑鼠懸停在我從 JetBrains 下載的 IDE 上時它沒有回圈。
我嘗試了遞減和遞增的不同組合,但無法得到“for 陳述句未回圈”。除此之外,我嘗試了不同的方法在 for 回圈中做一些事情,但我認為如果 for 回圈沒有回圈,現在不需要做任何事情,對吧?
所以我的問題是,如何減少字串或字符陣列并一遍又一遍地列印遞減值?
Here is my code so far for it.
public String wordDown(String userString, int userNum)
{
String stringModded = userString.substring(0, userNum);
char[] charArray = stringModded.toCharArray();
char repeat = ' ';
for(int i = 0; i<userNum; i)
{
repeat = (char) (repeat charArray[i]);
charArray[i] = repeat;
for(int j = 1; i > charArray.length; j)
{
String modWord = String.valueOf(charArray[i 1]);
return modWord;
}
}
return null;
}
public static void main(String[] args)
{
int userNumber;
String userString;
RandomArrayFunctionalities ranMethod = new RandomArrayFunctionalities();
Scanner in = new Scanner(System.in);
System.out.println("\nEnter a word:");
userString = in.next();
System.out.println("\nEnter a number within the word scope that you just enter:");
userNumber = in.nextInt();
System.out.println(ranMethod.wordDown(userString, userNumber));
}
uj5u.com熱心網友回復:
我認為你把事情復雜化了,你根本不需要char陣列,你只需要一個回圈和一個 return 陳述句:
public String wordDown(String userString, int userNum) {
String finalString = "";
for (int i = 0; i < userNum; i) {
finalString = finalString userString.substring(0, userNum - i);
}
return finalString;
}
簡單地回圈起來輸入的號碼,并substring從0到inputtedNumber - loopCounter并追加結果之前保持的String值。
示例運行:
Enter a word:
Calculus
Enter a number within the word scope that you just enter:
5
CalcuCalcCalCaC
旁注:
從技術上講,您希望使用StringBuilder而不是附加String在回圈中,但這可能超出了本問題的范圍。這是該版本僅供參考:
public String wordDown(String userString, int userNum) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < userNum; i) {
sb.append(userString.substring(0, userNum - i));
}
return sb.toString();
}
uj5u.com熱心網友回復:
您不需要修改原始陣列。使用 aStringBuilder連接單詞的連續部分。使用該String.substring(int,int)方法將這些部件拉出。下面的示例使用遞減索引來生成連續變小的子字串。
public String wordDown(String word, int userNum) {
StringBuilder sb = new StringBuilder();
for (int length = userNum ; length > 0 ; --length) {
sb.append(word.substring(0, length));
}
return sb.toString();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/329234.html
