"loss of precision" - Compiler-Fehler

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • "loss of precision" - Compiler-Fehler

    Hi,

    habe folgendes Problem. Ich möchte zwecks Temperatur-Umwandlung
    die Indexe des Strings miteinander vergleichen und den Wert in einem
    entsprechenden Feld ausgeben. Dieser Vergleich gelingt jedoch nicht -
    muss ich dazu einen Array erstellen, oder lässt sich das Problem auch
    anders lösen?




    Quellcode

    1. import java.awt.event.*;
    2. import javax.swing.*;
    3. public class A07 extends JApplet implements ActionListener {
    4. int Index; /*Index und Index2 zum Vergleich*/
    5. int Index2;
    6. float zahl; /*"zahl" einlesen,in "ergebnis" speichern und
    7. dann in "tf2" nach Berechnung ausgeben"*/
    8. float ergebnis;
    9. float celsius; //Zur Berchnung der Werte
    10. float fahrenheit;
    11. float kelvin;
    12. JTextField tf1, tf2;
    13. JComboBox temp1Liste, temp2Liste;
    14. JLabel label;
    15. JButton button;
    16. String [] temp1 = {"Grad Celsius","Kelvin","Grad Fahrenheit"};
    17. public void init () {
    18. java.awt.Container c = getContentPane();
    19. c.setLayout(new java.awt.FlowLayout ());
    20. tf1 = new JTextField(5);
    21. temp1Liste = new JComboBox(temp1);
    22. label = new JLabel(" entspricht ");
    23. tf2 = new JTextField(5);
    24. tf2.setEditable(false);
    25. temp2Liste = new JComboBox(temp1);
    26. button = new JButton ("Berechne");
    27. button.addActionListener(this);
    28. c.add(tf1);
    29. c.add(temp1Liste);
    30. c.add(label);
    31. c.add(tf2);
    32. c.add(temp2Liste);
    33. c.add(button);
    34. }
    35. public void actionPerformed(ActionEvent e) {
    36. java.util.Scanner s = new java.util.Scanner(tf1.getText());
    37. tf1.setText(String.format("%,1f"));
    38. if (s.hasNextFloat()) {
    39. zahl = s.nextFloat();
    40. Index = temp1Liste.getSelectedIndex();
    41. Index2 = temp2Liste.getSelectedIndex(); //JComboBox
    42. s.close();
    43. //String.format("%,1f"))
    44. }
    45. if (temp1[0] == temp1[0]) { /*Ich möchte jetzt die Indizes miteinander vergleichen
    46. und dann die Werte ausrechnen, wenn ich "Berechne"
    47. klicke.Allerdings klappt das nicht - muss ich da noch
    48. zwecks Vergleich seinen Array machen, oder geht das auch anders?*/
    49. return;
    50. }
    51. else if (temp1[0] == temp1[1]) {
    52. ergebnis = (celsius = (kelvin - 273.15));
    53. }
    54. else if (temp1[0] == temp1[2]) {
    55. ergebnis = (celsius = ((fahrenheit - 32.0 ) * (5.0/9.0)));
    56. }
    57. else if (temp1[1] == temp1[1]) {
    58. return;
    59. }
    60. else if (temp1[1] == temp1[0]) {
    61. ergebnis = (kelvin = (celsius + 273.15));
    62. }
    63. else if (temp1[1] == temp1[2]) {
    64. ergebnis = (kelvin = ((fahrenheit - 459.67) * (5.0/9.0)));
    65. }
    66. else if (temp1[2] == temp1[2]) {
    67. return;
    68. }
    69. else if (temp1[2] == temp1[0]) {
    70. ergebnis = (fahrenheit = ((celsius * (9/5.0)) + 32));
    71. }
    72. else if (temp1[2] == temp1[1]) {
    73. ergebnis = (fahrenheit = ((kelvin * 9/5.0) - 459.67));
    74. }
    75. }
    76. }
    Alles anzeigen


    Danke für eure Hilfe!