那里有没有可以帮助我解决这个问题的人。我知道这可能是你用java编写的最简单的东西,但是我无法想象我的生活。我刚刚开始学习java,这让我陷入困境。 当我编译代码时,它得到错误" int无法转换为String console.printf(xy);
import java.io.Console;
public class ExampleProgram {
public static void main(String[]arg) {
Console console = System.console();
console.printf("Below is a Power Calculation");
int x = 2;
int y = 2;
int xy = x * y;
console.printf(xy);
}
}
答案 0 :(得分:3)
Console console = System.console();
// note that console is never guaranteed to be non-null, so check it!
if (console == null) {
// error message
return;
}
console.printf("Below is a Power Calculation%n"); // %n for platform independent new-line
int x = 2;
int y = 2;
int xy = x * y;
console.printf("%d", xy); // %d for decimal display
答案 1 :(得分:1)
这有两个部分:
将整数转换为字符串可以通过多种方式完成。例如:
xy + ""
是一种依赖于字符串连接运算符的特殊语义的惯用方法。
Integer.toString(xy)
可能效率最高。
Integer.valueOf(xy).toString()
将xy
转换为Integer
,然后应用toString()
实例方法。
但无效 1
xy.toString()
因为1)您无法将方法应用于原语,2)Java不会在该上下文中将xy
自动装箱到Integer
。
打印字符串的方式是“有点不对”。 printf
方法的签名为printf(String format, Object... args)
。当您按照自己的方式调用它时,您将数字作为format
和零长度args
参数一起传递。
printf
方法将解析format
查找表示替换标记的%
个字符。幸运的是,数字字符串不包含这样的字符,所以它将按字面打印。
但无论如何,使用printf的“正确”方式是:
printf("%d", xy)
依赖于printf
来进行字符串转换。
还有另一个潜在的问题。如果您在“无头”系统上运行此程序,则System.console()
方法可能会返回null
。如果发生这种情况,您的程序将因NPE崩溃。
1 - 在Java 8上用一个简单的测试用例确认。
答案 2 :(得分:0)
使用:
console.printf(String.valueOf(xy));
答案 3 :(得分:-1)
尝试使用
$(document).ready(function(){
$('select').change(function(){
var opt = $(this).find('option:selected');
console.log(opt.val());
});
});