将 "PrintInfo-method" 从 python 翻译成 Java
Translating a "PrintInfo-method" from python to Java
我正在努力学习如何在 Java 中编写代码,在对 python 相当了解的基础上。
为了学习,我正在“翻译”旧的 python Class “bankAccount” 从 python 到 Java。到目前为止一切顺利,但我在使用打印出 bankAccount 对象信息的方法时遇到了问题。
我试图从 python 转换为 java 的打印输出方法是:
def print_info(self):
first = self._first_name
last = self._last_name
number = self._number
balance = self._balance
s = f"{first} {last}, {number}, balance: {balance}"
print(s)
这是我在Java中写的:
public void printInfo() {
String first = this.firstName;
String last = this.lastName;
double balance = this.balance;
String s;
s = String.format("\n%s %s %$f", first, last, "Balance: ", balance);
System.out.println(s);
}
我收到的错误消息是:
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '$'
at java.base/java.util.Formatter.checkText(Formatter.java:2732)
at java.base/java.util.Formatter.parse(Formatter.java:2718)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.util.Formatter.format(Formatter.java:2609)
at java.base/java.lang.String.format(String.java:2897)
at trix.uke1.BankAccount.printInfo(BankAccount.java:47)
at trix.uke1.BankAccount.main(BankAccount.java:58)
我知道如何通过输入来让它工作:
System.out.println(this.firstName +" " + this.lastName + " " + "Balance: " + this.balance);
.. 但我想更流畅地使用 String.format() 函数,因为我非常习惯在 python.
中使用 f-strings
有谁能帮我解决这个问题吗?
欢迎并感谢所有帮助
我认为这只是一个语法问题:
例如:
String firstName = "Richard";
String lastName = "Yu";
double balance = 1E40;
String s = String.format("\n%1$s %2$s Balance: %3$f", firstName, lastName,balance);
System.out.println(s);
输出:
Richard Yu Balance: 10000000000000000000000000000000000000000.000000
我正在努力学习如何在 Java 中编写代码,在对 python 相当了解的基础上。
为了学习,我正在“翻译”旧的 python Class “bankAccount” 从 python 到 Java。到目前为止一切顺利,但我在使用打印出 bankAccount 对象信息的方法时遇到了问题。
我试图从 python 转换为 java 的打印输出方法是:
def print_info(self):
first = self._first_name
last = self._last_name
number = self._number
balance = self._balance
s = f"{first} {last}, {number}, balance: {balance}"
print(s)
这是我在Java中写的:
public void printInfo() {
String first = this.firstName;
String last = this.lastName;
double balance = this.balance;
String s;
s = String.format("\n%s %s %$f", first, last, "Balance: ", balance);
System.out.println(s);
}
我收到的错误消息是:
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '$'
at java.base/java.util.Formatter.checkText(Formatter.java:2732)
at java.base/java.util.Formatter.parse(Formatter.java:2718)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.util.Formatter.format(Formatter.java:2609)
at java.base/java.lang.String.format(String.java:2897)
at trix.uke1.BankAccount.printInfo(BankAccount.java:47)
at trix.uke1.BankAccount.main(BankAccount.java:58)
我知道如何通过输入来让它工作:
System.out.println(this.firstName +" " + this.lastName + " " + "Balance: " + this.balance);
.. 但我想更流畅地使用 String.format() 函数,因为我非常习惯在 python.
中使用 f-strings有谁能帮我解决这个问题吗? 欢迎并感谢所有帮助
我认为这只是一个语法问题:
例如:
String firstName = "Richard";
String lastName = "Yu";
double balance = 1E40;
String s = String.format("\n%1$s %2$s Balance: %3$f", firstName, lastName,balance);
System.out.println(s);
输出:
Richard Yu Balance: 10000000000000000000000000000000000000000.000000