System.out.println(String.format("%%",0.85)); 为啥输出的不是百分数呢?而是%?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.out.println(String.format("%%",0.85)); 为啥输出的不是百分数呢?而是%?相关的知识,希望对你有一定的参考价值。

System.out.println(String.format("%1$.2f%%",0.85));追问

%%就是在原有数据后加一个%吗?数值会变小?

追答

是啊,不会变

追问

变成0.85%,变小100倍

追答

你这是字符串的格式话,它不会把你参数值改变。你这输入0.85 输出也是0.85 ,后面的%号只是个符号而已,format 不会去帮你计算。你要计算可以在参数乘 100
System.out.println(String.format("%1$.2f%%",a*100));

参考技术A 可能你打错了吧 在好好看看

IntelliJ System.out.println() - 无法解析方法 println(java.lang.String)

【中文标题】IntelliJ System.out.println() - 无法解析方法 println(java.lang.String)【英文标题】:IntelliJ System.out.println() - Cannot resolve method println(java.lang.String) 【发布时间】:2016-12-02 18:01:54 【问题描述】:

我正在使用 IntelliJ IDEA,学习 Java。直到昨天发生上述错误时,一切都很顺利。

我没有做任何改变。我正在通过以下方式寻找解决方案:

    重启电脑 重启 IntelliJ。 删除项目目录并使用另一个(都在桌面上)

没有任何帮助。购买运行简单的 hello world 方法。它一直显示此错误:

有人可以帮助我吗?

【问题讨论】:

添加:我没有使用任何插件或“Marven”。它只是停止工作。通常 println 方法不需要导入。这个错误破坏了我之前的所有学习项目。所以它似乎不是本地的或连接到任何单个类。 我遇到了同样的问题...作为“解决方法”,我正在使用java.lang.System.out.println() @D.Kastier 你的“解决方法”对我也不起作用。 @Prabesh Bhattarai 在我的例子中,我发现后者是一个用户类,也名为 System,因此与 java 的 System 类发生冲突。 【参考方案1】:

好的,解决了。

文件 -> 无效缓存/重新启动

【讨论】:

谢谢。这也帮助了我使用 Intellij Idea 2021.1【参考方案2】:

我想如果你尝试过上面的方法,也许你可以考虑在哪里使用System.out.println(),因为这种方法应该只在main(String args[])中使用,最新版本的idea就可以了。希望上面说的对你有帮助。

【讨论】:

这不是真的。你可以在任何你喜欢的方法中使用它,只要它不是直接在类级别上。【参考方案3】:

发生这种情况的一个原因是,如果您在类主体的某处而不是方法内部有 print 语句。

这是一个例子:

但如果打印在方法内部,它应该可以正常工作。

这是一个例子:

【讨论】:

【参考方案4】:

如果您将 orcale sdk 配置为项目 sdk,则无法找到 System.out.println - 除了您使用的是另一个 System.out

所以我的猜测是您没有配置正确的项目 sdk。

转到项目设置或按Ctrl+Alt+Shift+S,转到Project Settings -> Project并检查您的 sdk 是否设置正确。

【讨论】:

【参考方案5】:

在我的情况下,我的项目设置为 Java 6th,并且我安装了 jre1.8.0_131,我认为这是导致问题的原因。将Java改成8级后问题已解决。

按 Ctrl+Alt+Shift+s 或转到文件 -> 项目结构 -> 项目,然后将项目语言级别设置为您的。

【讨论】:

【参考方案6】:

case 1:如果所有的sdk设置都是完整和完美的 然后 文件->无效缓存/重新启动 这可以工作 案例 2:如果 intelij 的 sdk 设置中缺少某些内容 然后转到 1.文件->项目结构->库 2.点击+按钮 3.添加tomcat目录的lib文件夹位置 C:\xampp\tomcat\lib to add lib directory to tomcat

【讨论】:

【参考方案7】:
import static java.lang.System.out;

或者您可能有多个名为 System 的类?

或者this链接可能对你有用。

【讨论】:

以上是关于System.out.println(String.format("%%",0.85)); 为啥输出的不是百分数呢?而是%?的主要内容,如果未能解决你的问题,请参考以下文章

String 功能类

System.out.println与System.err.println的区别

System.out.println(String.format("%%",0.85)); 为啥输出的不是百分数呢?而是%?

System.out.println 和 System.err.println 乱序

java中System.out.println()打印输出结果

java中使用System.out.println如何输出多个变量?