Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 代码赢得';“之前的t型度字符”;“文本”;,相反地,它是一个数字_Java - Fatal编程技术网

Java 代码赢得';“之前的t型度字符”;“文本”;,相反地,它是一个数字

Java 代码赢得';“之前的t型度字符”;“文本”;,相反地,它是一个数字,java,Java,我试图创造一个从华氏到摄氏的转换器。我使用了以下代码: package Kap3; import javax.swing.*; public class Upp32{ public static void main(String[] arg){ char d = '\u00B0'; String F = JOptionPane.showInputDialog("Write the temperature in F"+d); int f =

我试图创造一个从华氏到摄氏的转换器。我使用了以下代码:

package Kap3;
import javax.swing.*;

public class Upp32{
    public static void main(String[] arg){
        char d = '\u00B0';
        String F = JOptionPane.showInputDialog("Write the temperature in F"+d);
        int f = Integer.parseInt(F);
        int C = (f-32)*(5/9);
        // TEST - JOptionPane.showMessageDialog(null, f);
        JOptionPane.showMessageDialog(null, f + "" + d
                + " Degrees Fahrenheit" + "\n Equals to"
                + "\n" + C + d + " Degrees Celcius");
    }
}
问题出在这里:
JOptionPane.showMessageDialog(null,f+d+“华氏度”

不知何故,它改变了开始时输入的Farenheit的数量,我不知道为什么。但是,如果我在
f
之后添加
+“”+
,它就会消失,但我很想知道它为什么会发生

多谢各位


(另一方面,我希望这是一个正确的方式发布一些东西。我的lats线程被禁止了2天。)

我能够解决它!显然我的乘法有问题

package Kap3;
import javax.swing.*;

public class Upp32{
    public static void main(String[] arg){

        char d = '\u00B0';
        String F = JOptionPane.showInputDialog("Write the temperature in F"+d);

        double f  = (int) (Double.parseDouble(F));
        double C = (int) ((f - 32) * 5/9);
                    // TEST - JOptionPane.showMessageDialog(null, f);
            JOptionPane.showMessageDialog(null, f+ ""+d + " Degrees Fahrenheit"
                    + "\n Equals"
                    + "\n" + C + d + " Degrees Celcius");
                }
}

更改为双C=(int)((f-32)*5/9)

Java对于Javascript就像痛苦对于绘画,火腿对于仓鼠一样。它们完全不同。强烈建议有抱负的程序员尝试学习他们试图编写代码的语言名称。当你发布问题时,请适当地标记它。
f
是一个整数值,
d
是一个整数ral值和加在一起。为什么要将
int
转换为double?我认为应该是
double C=(double)((f-32)*5/9)
我不喜欢小数hehe:P但它不会给你精确的值,例如,如果
C
应该等于34.44,它会返回你
C=34
我可以接受:P这只是为了学习,不是为了实际使用。哦,好吧,我们会好运的,伙计:)