此程序需要打印a.b.c.
,但会打印a.b.c...
如何消除输出中的最后一个点。
该程序必须使用“。”
import java.util.Scanner;
public class dots1 {
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
String input;
String output = "";
System.out.println("Hello! I print out an acronym. ");
do {
System.out.println("Please Enter a Character");
input = s.nextLine();
output = output+input+".";
} while (!input.equals("."));
System.out.println(output);
}
}
答案 0 :(得分:4)
因为退出条件为"。"然后将其添加到输出并添加另一个点。请尝试以下方法:
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
String input = "";
String output = "";
System.out.println("Hello! I print out an acronym. ");
while (true) {
System.out.println("Please Enter a Character");
input = s.nextLine();
if(input.equals("."))
break;
output = output + input + ".";
} ;
System.out.println(output);
}
答案 1 :(得分:0)
我使用一个简单的检查来查看它是不是第一次阅读。
boolean isFirst=true;
do{
System.out.println("Please Enter a Character");
input = s.nextLine();
if(!isFirst) output="."+output;
isFirst=false;
output = output+input;
}while(!input.equals("."));
答案 2 :(得分:0)
而不是do ... while,你应该使用while函数。
while(!input.equals(“。”){
}
答案 3 :(得分:0)
你必须在java中使用substring函数并删除String的最后一个字符。
在输入中输入点时,您的循环结束。
以下给出的例子。
试试这个
import java.util.Scanner;
public class dots1 {
Scanner s = new Scanner(System.in);
String input;
String output = "";
System.out.println("Hello! I print out an acronym. ");
do{
System.out.println("Please Enter a Character");
input = s.nextLine();
output = output+input+".";
}while(!input.contains("."));
System.out.println(output.substring(0, output.length() - 2));
}
}
多输入输出