[英]Returning a string from a if-statement and for-loop
我有以下代碼,而不是使用System.out.println()方法,而是需要返回一個包含星號和負號的字符串,其方式與下面的代碼相同。
本質上,我需要在實際的返回字符串本身中包含星號和減號,而不僅僅是在末尾返回“”!
我對Java非常陌生,不知道如何執行此操作。
我將不勝感激任何建議。
public static String starMinusLine(int stars, int minuses){
if(minuses ==1){
for (int j= 0; j< stars; ++j){
System.out.print("*");
}
for (int i = 0; i < (minuses); ++i){
System.out.print("-");
}
}
if (minuses % 2 == 0){
for (int i = 0; i < (minuses*0.5); ++i){
System.out.print("-");
}
for (int j= 0; j< stars; ++j){
System.out.print("*");
}
for (int k=0; k < (minuses*0.5); ++k){
System.out.print("-");
}
}
if (minuses % 2 == 1 && minuses != 1){
for (int i = 0; i < ((minuses*0.5)-0.5); ++i){
System.out.print("-");
}
for (int j= 0; j< stars; ++j){
System.out.print("*");
}
for (int k=0; k < ((minuses*0.5)); ++k){
System.out.print("-");
}
}
return "";
}
只需使用StringBuilder即可構建字符串:
public static String starMinusLine(int stars, int minuses) {
StringBuilder sb = new StringBuilder();
if (minuses == 1) {
for (int j = 0; j < stars; ++j) {
sb.append("*");
}
for (int i = 0; i < (minuses); ++i) {
sb.append("-");
}
}
if (minuses % 2 == 0) {
for (int i = 0; i < (minuses * 0.5); ++i) {
sb.append("-");
}
for (int j = 0; j < stars; ++j) {
sb.append("*");
}
for (int k = 0; k < (minuses * 0.5); ++k) {
sb.append("-");
}
}
if (minuses % 2 == 1 && minuses != 1) {
for (int i = 0; i < ((minuses * 0.5) - 0.5); ++i) {
sb.append("-");
}
for (int j = 0; j < stars; ++j) {
sb.append("*");
}
for (int k = 0; k < ((minuses * 0.5)); ++k) {
sb.append("-");
}
}
return sb.toString();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.