私はこのプログラムで質問を受けましたが、私はクラスに書いています。それは私が必要としているのと全く同じように機能しています。私のwhileループは、printステートメントの最後に余分な "+"を追加しています。JAVA Whileループで余分な出力を取り除く
public class Fractions
{
public static void main (String[] args)
{
//-----declare variables-----
int numOfFractions = 0,
numerator = 0;
double total = 0;
DecimalFormat df1 = new DecimalFormat("#0.##");
Scanner stdIn = new Scanner(System.in);
//----Welcome MSG------
System.out.println("");
System.out.println("\t* * * Welcome to Fractions * * * ");
System.out.println("");
//-----get numOfFractions------
System.out.print("Enter the number of fractions: ");
numOfFractions = stdIn.nextInt();
//----begin loop-------
numerator = 1;
while(numerator <= numOfFractions)
{
while(numOfFractions > 0)
{
System.out.print("" + numerator + "/" + numOfFractions + " " + "+" + " ");
total += (double)numerator/numOfFractions;
numOfFractions--;
numerator++;
}
}
System.out.println("");
System.out.println("");
System.out.print("The total: " + df1.format(total));
System.out.println("");
System.out.println("\nThanks for using the Fraction Adder program\n");
} // end main
} // end pgm
Here is a picture of my output
をするだけDF1を置き換える、次のようにあなたも、
StringJoiner
を使用し、ループの後に内容を印刷することができたJava 8を使用して.format(total)をdf1.format(total.substring(0、total.length() - 1))に置き換えます。 (冗長+が文字列の最後の文字である場合) –