优化这段代码输出数据完后不出现空一行package com.company; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double amount = scanner.nextDouble(); int[] bills = {10, 5, 1}; double[] coins = {0.5, 0.1, 0.02, 0.01}; String[] billNames = {"十元", "五元", "一元"}; String[] coinNames = {"五角", "一角", "贰分", "壹分"}; for (int i = 0; i < bills.length; i++) { int count = (int) (amount / bills[i]); if (count >0 ) { System.out.println( count + "张"+billNames[i] ); amount -= count * bills[i]; } } for (int i =0 ; i < coins.length; i++) { int count = (int) (amount / coins[i]); if (count > 0) { System.out.print(count + "个" + coinNames[i] + "\n"); amount -= count * coins[i]; } } } }
时间: 2023-04-02 07:00:52 浏览: 71
这段代码可以通过在第一个for循环和第二个for循环中添加一个if语句来避免输出空行。具体来说,在第一个for循环中,可以添加一个if语句判断是否还有硬币需要输出,如果没有,则不输出空行。在第二个for循环中也可以添加类似的if语句来判断是否还有硬币需要输出。以下是修改后的代码:
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double amount = scanner.nextDouble();
int[] bills = {10, 5, 1};
double[] coins = {.5, .1, .02, .01};
String[] billNames = {"十元", "五元", "一元"};
String[] coinNames = {"五角", "一角", "贰分", "壹分"};
for (int i = ; i < bills.length; i++) {
int count = (int) (amount / bills[i]);
if (count > ) {
System.out.println(count + "张" + billNames[i]);
amount -= count * bills[i];
}
if (i == bills.length - 1 && amount > ) {
System.out.println();
}
}
for (int i = ; i < coins.length; i++) {
int count = (int) (amount / coins[i]);
if (count > ) {
System.out.print(count + "个" + coinNames[i] + "\n");
amount -= count * coins[i];
}
if (i == coins.length - 1 && amount > ) {
System.out.println();
}
}
}
}