Avatar billede OBS Juniormester
12. april 2025 - 11:07 Der er 8 kommentarer

java.util.Scanner

Scanner scanner = new Scanner(System.in)  fungerer desværre ikke, får følgende errors:
Description    Resource    Path    Location    Type
Illegal modifier for the local class Main; only abstract or final is permitted    Main.java    /Projektet/src/Projekter    line 10    Java Problem
Description    Resource    Path    Location    Type
The nested type Main cannot hide an enclosing type    Main.java    /Projektet/src/Projekter    line 10    Java Problem

import java.util.Scanner;

    public class Lommeregner {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
           
            System.out.println("Indtast det første tal: 60");
            double num1 = scanner.nextDouble();
           
            System.out.println("Indtast det andet tal:30");
            double num2 = scanner.nextDouble();
           
            System.out.println("Vælg en operation (+, -, *, /): +");
            char operation = scanner.next().charAt(0);
           
            double resultat;
           
            switch (operation) {
                case '+':
                    resultat = num1 + num2;
                    System.out.println("Resultat: " + resultat);
                    break;
                case '-':
                    resultat = num1 - num2;
                    System.out.println("Resultat: " + resultat);
                    break;
                case '*':
                    resultat = num1 * num2;
                    System.out.println("Resultat: " + resultat);
                    break;
                case '/':
                    if (num2 != 0) {
                        resultat = num1 / num2;
                        System.out.println("Resultat: " + resultat);
                    } else {
                        System.out.println("Fejl: Division med nul er ikke tilladt.");
                    }
                    break;
                default:
                    System.out.println("Ugyldig operation.");
                    break;
            }
           
            scanner.close();
        }
    }
Avatar billede arne_v Ekspert
12. april 2025 - 17:13 #1
Koden virker hos mig????
Avatar billede OBS Juniormester
12. april 2025 - 20:38 #2
Nej  ikke hos mig

Får følgende  meddelelse:
Description    Resource    Path    Location    Type
Illegal modifier for the local class Main; only abstract or final is permitted    Main.java    /Projektet/src/Projekter    line 10    Java Problem
Description    Resource    Path    Location    Type
The nested type Main cannot hide an enclosing type    Main.java    /Projektet/src/Projekter    line 10    Java Problem
Avatar billede arne_v Ekspert
12. april 2025 - 20:40 #3
Du kunne også have satset på Swing til dette her.

:-)


package april;

import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class Calculator extends JFrame {
    private static final long serialVersionUID = 1L;
    private JTextField arg1= new JTextField();
    private JComboBox<String> op = new JComboBox<String>(new String[] { "+", "-", "*", "/" });
    private JTextField arg2= new JTextField();
    private JButton eq = new JButton("=");
    private JTextField res = new JTextField();
    public Calculator() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Calculator");
        setLayout(new GridLayout(1, 5, 10, 10));
        add(arg1);
        add(op);
        add(arg2);
        add(eq);
        eq.addActionListener(ev -> { double a1 = Double.parseDouble(arg1.getText());
                                    double a2 = Double.parseDouble(arg2.getText());
                                    double r = switch((String)op.getSelectedItem()) { case "+" -> a1 + a2;
                                                                                      case "-" -> a1 - a2;
                                                                                      case "*" -> a1 * a2;
                                                                                      case "/" -> a1 / a2;
                                                                                      default -> 0.0;
                                                                                      };
                                    res.setText(Double.toString(r));
                                  });
        add(res);
        setPreferredSize(new Dimension(800, 75));
        pack();
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame f = new Calculator();
                f.setVisible(true);
            }
        });
    }
}
Avatar billede arne_v Ekspert
12. april 2025 - 20:42 #4
Hvad hedder filen?

public class Lommeregner skal være i Lommeregner.java !
Avatar billede OBS Juniormester
12. april 2025 - 20:52 #5
Hvor findes filen " Lommeregner.java "  ??
Avatar billede arne_v Ekspert
12. april 2025 - 22:43 #6
Dit program.

Fejlbeskeden taler om Main.java, men klassend hedder Lommeregner og den skal være i en Lommeregner.java!
Avatar billede OBS Juniormester
12. april 2025 - 23:05 #7
Java.util.scanner 
scanner scanner = new Scanner/System.in);  fungerer slet ikke.

Jeg prøvede at download Eclipse Femurin, men kan ikke finde selve programmet - så jeg har besluttet at købe en ny bærbar pc - med håb om at JDK og Eclipse denne gang er kompatible.

Tak for  Calculate, man lærer nyt hver dag.
Avatar billede arne_v Ekspert
13. april 2025 - 01:10 #8
Ny PC løser ikke dette problem.

Installere Eclipse og installere Java og konfigurere Eclipse til at bruge den Java plejer altid at virke.

Men ellers er der jo stadig "the good old fashioned way" !!

Åben en shell-kommando prompt og bøg og kør command line !!

set JAVA_HOME=C:\wherever\java\is
PATH=%JAVA_HOME%\bin;%PATH^
javac Calculator.java
java Calculator eller javaw Calculator
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester