我很确定错误是由最后一行引起的。从我所知,它不满意我使用变量“%d”。但这不是整数的有效输入吗?
import java.util.Scanner;
public class total_cost {
public static void main(String[] args) {
int TVs;
int VCRs;
int controller;
int CD;
int recorder;
double TV_price;
double VCR_price;
double controller_price;
double CD_price;
double recorder_price;
double tax;
{
TV_price = 400.00;
VCR_price = 220.00;
controller_price = 35.20;
CD_price = 300.00;
recorder_price = 150.00;
tax = .0825;
Scanner in = new Scanner(System.in);
{
System.out.printf("How many TV's were sold? ");
TVs = in.nextInt();
System.out.printf("How many VCR's were sold? ");
VCRs = in.nextInt();
System.out.printf("How many remote controller's were sold? ");
controller = in.nextInt();
System.out.printf("How many CD players were sold? ");
CD = in.nextInt();
System.out.printf("How many Tape Recorder's were sold? ");
recorder = in.nextInt();
System.out.printf("QTY\tDESCRIPTION\tUNIT PRICE\tTOTAL PRICE\n");
System.out.printf("%d", TVs + "\tTelevision\t%f", TV_price
+ "\t" + tax * TV_price + "%f", TV_price);
}
}
}
}
错误消息:
Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4011)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2725)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2677)
at java.util.Formatter.format(Formatter.java:2449)
at java.util.Formatter.format(Formatter.java:2383)
at java.lang.String.format(String.java:2781)
at total_cost.main(total_cost.java:37)
由于这一行,您将获得此异常:
System.out。printf(“%d”,TVs“\tLevision\t%f”,TV_price“\t”tax*TV_ price“%f”,TV_price)
由于< code>
,因此< code > TVs " \电视\t%f"正在尝试进行算术运算。
您应该格式化输出,然后提供值。
例如:<code>System.out。printf(“%d%s”,TVs,“\tTelevision\”
您应该决定是使用< code>printf()还是< code>println(),哪一个似乎更适合您:
System.out.println(3 + "\tTelevision\t" + TV_price + "\t" + tax * TV_price + " " + TV_price);
使用<code>printf()
System.out.printf("%d number %s string\n", 3, "hi");
您传递的是一个字符串,而不是一个整数。应该是这样的:
System.out.printf("%d\tTelevision\t%.2f\t%.2f,%.2f", TVs, TV_price,tax * TV_price, TV_price);
PS:我可以自由地用2位小数位来格式化价格。
给定一个0和1的数组,我们最多可以将K个值从0更改为1。 返回仅包含1的最长(连续)子数组的长度。 例1: 例2: 注: https://leetcode.com/problems/max-consecutive-ones-iii/ 这是问题链接。在第一个测试用例中,我得到了输出9,但应该是6。我不知道哪里出了问题?
我想做张桌子。我希望这些数字向左对齐。我不熟悉格式化,不知道为什么会出现错误。
我是Spring的新人。我学习,但在学习过程中我出错了。我为Spring使用基于XML的配置,这里是编译错误: 线程“main”org . spring framework . beans . factory . beancreationexception中出现异常:创建在类路径资源[Beans.xml]中定义的名为“helloGeorgia”的bean时出错:设置属性值时出错;嵌套异常为org
我试图使用SQlite,但出现了以下错误: e/sqlite ;异常:“)”附近:语法错误(代码1 SQLITE_ERROR):,编译时:如果不存在则创建表联系人(_id整数主键自动增量、名称文本、组织文本、电话整数、地址文本、电子邮件文本、web_ad文本、inf文本、生日文本NULL,) 我猜应该是我的代码的这一部分: 这很奇怪,因为一开始SQL_CREATE_ENTRIES如下所示,并且没有
在我开始添加更多存储库之前,我的代码只使用一个存储库包就可以正常工作 主数据源配置类: 存储库: 服务层: 服务实施: 实体类: 其他实体和存储库已被排除在外。
请看一下这个: 为什么在TreeSet中添加元素时没有得到类转换异常或其他东西 列表到树集的转换产生:“java.lang.ClassCastException:MyClass不能被强制转换为java.lang.Comparable”