林Java和開始做測試驅動開發初學者內循環。我有一個很堅強的基本情景。我想傳遞一串從1到x的數字。即如果x爲3,它會返回 「1,2,3」,或者如果x是5,它會返回 「1,2,3,4,5」。的Java對於數組列表
我知道我需要使用數組列表和for循環,但我堅持的語法。有人請幫忙!
感謝
林Java和開始做測試驅動開發初學者內循環。我有一個很堅強的基本情景。我想傳遞一串從1到x的數字。即如果x爲3,它會返回 「1,2,3」,或者如果x是5,它會返回 「1,2,3,4,5」。的Java對於數組列表
我知道我需要使用數組列表和for循環,但我堅持的語法。有人請幫忙!
感謝
試試下面的代碼:
int x = 5;
StringBuilder sb = new StringBuilder(); //You need import java.util.StringBuilder
for (int i = 1; i <= 5; i++) {
sb.append(i);
if (i!=x) {
sb.append(',');
}
}
String result = sb.toString(); //Here will be "1,2,3,4,5"
你在for語句中有一個拼寫錯誤,改變'1 ++' - >'i ++' – amit
你是對的** amit **謝謝! –
這裏是一個開始:
String output = "";
int x = 5;
for (int i=1; i<=5; i++)
{
output += i + ", ";
}
System.out.println(output);
// prints the string "1, 2, 3, 4, 5, "
這將實際上打印「,1,2,3,4,5」,賴特? –
呃。是。感謝您的更正。 –
我想返回而不是打印它。我想讓這個測試通過 –
如果是使用數組列表,你可以使用「添加」和「要求獲得」方法的ArrayList:
List<Integer> listOfIntegers = new ArrayList<Integer>();
int = 5;
String stringOfIntegers = "";
for (int i = 1; i <= 5; i++) {
listOfIntegers.add(i);
}
for (int i = 0; i < 5; i++) {
stringOfIntegers += listOfIntegers.get(i);
stringOfIntegers += ",";
}
System.out.println(stringOfIntegers);
新增:
public String numberString(){
List<Integer> listOfIntegers = new ArrayList<Integer>();
int = 5;
String stringOfIntegers = "";
for (int i = 1; i <= 5; i++) {
listOfIntegers.add(i);
}
for (int i = 0; i < 5; i++) {
stringOfIntegers += listOfIntegers.get(i);
stringOfIntegers += ",";
}
return stringOfIntegers;
}
[從方法返回] [從那裏你告訴它的方法返回到算什麼號碼]
public String numberString(int maxNumber){
List<Integer> listOfIntegers = new ArrayList<Integer>();
String stringOfIntegers = "";
for (int i = 1; i <= maxNumber; i++) {
listOfIntegers.add(i);
}
for (int i = 0; i < 5; i++) {
stringOfIntegers += listOfIntegers.get(i);
stringOfIntegers += ",";
}
return stringOfIntegers;
}
因此,舉例來說,如果你在一個值傳遞「7」返回的字符串將是:「1,2,3,4,5,6,7」。要「調用」這個方法,你可以使用類似:
public static void main(String[] args){
MyClass myClass = new MyClass(); //This will be the name of the class you created
String myNumberString = myClass.numberString(6);
System.out.println("My number string is: " + myNumberString); //This will print: "1,2,3,4,5,6"
}
謝謝你。欣賞它!如果我想返回一個字符串,例如「1,2,3,4,5」而不是打印線我將如何做到這一點?還有什麼方法可以在這裏使用ArrayList? –
對不起,我剛剛意識到你在這裏使用了一個arraylist –
「stringOfIntegers」變量將包含你正在尋找的字符串,即「1,2,3,4,5」。如果您需要從方法返回,請嘗試添加的編輯中的代碼。 – travega
String s = "";
int x = 5;
for(int i = 1; i <= x; i++) s += i + (i!=x?", ":"");
System.out.println(s); // It prints "1, 2, 3, 4, 5"
A「數字串」或「編號列表」? – NullUserException
我不明白這與TDD有什麼關係。另外,如果你在使用基本語言的語法方面遇到困難,那麼嘗試應用TDD可能會讓購物車擺在首位。 –
爲什麼不發佈你現在擁有的東西。這會讓你更受教育。 –