我是java的初学者并开始进行测试驱动开发。我有一个非常基本的情况,我被困在一起。我想传递一串从1到x的数字。即如果x是3,它将返回“1,2,3”,或者如果x是5,它将返回“1,2,3,4,5”。
我知道我需要使用数组列表和for循环,但我仍然坚持使用语法。有人请帮忙!
由于
答案 0 :(得分:2)
请尝试以下代码:
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"
答案 1 :(得分:1)
这是一个开始:
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, "
答案 2 :(得分:0)
如果需要使用数组列表,可以使用ArrayList中的“add”和“get”方法:
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"
}
答案 3 :(得分:0)
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"