我不允许使用三个以上的打印语句。我尝试通过创建私有方法,但它没有成功。
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int numBills1 = spending(console, "John");
int numBills2 = spending(console, "Jane");
System.out.println("John needs " + numBills1 + " bills");
System.out.println("Jane needs " + numBills2 + " bills");
}
public static int spending(Scanner console, String name) {
System.out.print("How much will " + name + " be spending? ");
double amount = console.nextDouble();
System.out.println();
int numBills = (int) (amount / 20.0);
if (numBills * 20.0 < amount) {
numBills++;
}
return numBills;
}
答案 0 :(得分:1)
您可以尝试将输出文本存储在实例变量中,然后对所有输出使用一个print语句。
private static String output="";
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
spending(console, "John");
spending(console, "Jane");
System.out.println(output);
}
public static void spending(Scanner console, String name) {
System.out.print("How much will " + name + " be spending? ");
double amount = Double.parseDouble(console.nextLine());
int numBills = (int) (amount / 20.0);
if (numBills * 20.0 < amount) {
numBills++;
}
output += name + " needs "+numBills+" bills\n";
}
答案 1 :(得分:0)
如何使用换行\n
System.out.println("John needs " + numBills1 + " bills\nJane needs " + numBills2 + " bills");
您也不需要空打印。删除
System.out.println();
答案 2 :(得分:0)
您有两个解决方案,如果您希望只使用\n
连接字符串,则可以只使用两个:
public static void main(String[] args) {
//...
System.out.println("John needs " + numBills1 + " bills" + "\n" + "Jane needs " + numBills2 + " bills");
//---------------------------------------------------------^^^----------
}
在您的方法spending
中,您可以将print
更改为println
:
public static int spending(Scanner console, String name) {
System.out.println("How much will " + name + " be spending? ");
//--------------^^---------------------------------------------
并删除:
System.out.println();
答案 3 :(得分:0)
如前所述,您可以连接两个字符串,并在方法上打印System.out.println("Text here");
此外,您不需要将扫描程序作为方法的参数,您可以简单地在主方法之前键入:
static Scanner output = new Scanner (System.in);
通过这种方式,您可以在整个(整个)程序中使用扫描仪,如下所示:
public static int spending(String name)
{
System.out.println("How much will " + name + " be spending? ");
double amount = output.nextDouble();
int numBills = (int) (amount / 20.0);
if (numBills * 20.0 < amount)
{
numBills++;
}
return numBills;
}
答案 4 :(得分:0)
像这样的东西
public static void main(String[] args) {
while (true) {
Scanner console = new Scanner(System.in);
System.out.print("The name : ");
String name = console.nextLine();
System.out.print("How much will " + name + " be spending? ");
double amount = console.nextDouble();
System.out.println(name + " needs " + calculateBills(amount) + " bills");
}
}
private static int calculateBills(double amount) {
int numBills = (int) (amount / 20.0);
if (numBills * 20.0 < amount) {
numBills++;
}
return numBills;
}
答案 5 :(得分:0)
您似乎想要围捕。一种方法是
int numBills = (int) Math.ceil(amount / 20);