• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Wieder Java Probleme :(

frogi

Spiele-Enthusiast/in
Mitglied seit
11.05.2004
Beiträge
1.352
Reaktionspunkte
0
Hi,
also erste mal wüsste ich gerne was mit "main" methode gemeint ist und der "klasse" berechnungen? wählt man das irgendwo aus oder legt man das selbst fest?
ich würde nähmlich gerne ein Umrechnungsprogram mit Netbeans erstellen.
und zwar eine berechnung für bonuspunkte, und zwar nur mit dem operanden des typs int.

hab mir mal nen beispiel ausgedacht:

max. klausurpunkte 96 ... praktikumsergebnis 72 und sollergebnis bonuspunkte 7

jetzt würde ich gerne einen ausdruck zur berechnung dieser bonuspunkte "erschaffen"..
 
Die Klasse ist den Methoden quasi übergeordnet.
Die main-Methode wird auf jeden Fall abgearbeitet. Man kann zusätzliche Methoden deklarieren, aber diese werden nicht abgearbeitet, wenn es keinen Aufruf auf sie gibt.

In deinem Fall würde es etwa so aussehn:
class berechnungen{
//wie man hier sieht, sind Methoden den Klassen untergeordnet

public static void main(String []args){
//hier deinen Code einfügen
}
}
 
Wenn du Java auch lernen willst: http://openbook.galileocomputing.de/javainsel7


Wenn es dir nur um das Programm geht wären mehr Infos gut, falls du beim Programmieren Hilfe brauchst. Den Algorithmus hab ich nämlich nicht ganz verstanden. ;)
 
frogi am 21.10.2008 18:10 schrieb:
wenn das die ausgangslage ist http://www.bilder-hochladen.net/files/8c4q-2-jpg.html

wo muss ich die befehle die du gepostet hast dann reinschreiben, damit es mit meinem beispiel klappt?
Mein Tipp: Lass NetBeans erst mal weg und programmier per Notepad. Das ist um einiges übersichtlicher, man lernt imho mehr und außerdem ist es nicht so überladen.

Alternativ geht auch ein Editor mit eingebautem Compiler, aber eine IDE überfordert dich wohl eher.
 
Du hast schonmal den Fehler gemacht, dass die Klasse jetzt Main heißt und nicht Berechnungen. Dann führst du deine eigentliche Berechnung in deiner Main-Methode aus.

Ich persönlich würde dir auch einen einfacheren Editor nahelegen.
In der Uni haben wir Eclipse benutzt, bzw. an den Poolrechnern Kate (ist n kleines Notepad-artiges Spielzeug, mit dem man Kompilieren kann und Syntax-Highlighting hat).
Kate gibts afaik nur für Linux.
Also könntest du mal schauen, ob du mit Eclipse besser klarkommst.
Ich find die IDE nicht so überladen. Achja: IDE bedeutet Integrated Development Environment, also ne Entwicklungsumgebung.
 
Ernie123 am 21.10.2008 18:21 schrieb:
Ich find die IDE nicht so überladen. Achja: IDE bedeutet Integrated Development Environment, also ne Entwicklungsumgebung.
Ich finde IDEs generell für Anfänger zu kompliziert, also auch Eclipse.

Irgendein freier Editor wie Notepad++ oder SciTE hat doch bestimmt einen intergrierten Compiler.


Hab grad geschaut - mit Sc1 (portable Version von SciTE) kann ich problemlos kompilieren und ausführen.
 
ok, dann steige ich jetzt auf den stinknormalen editor um. allerdings hab ich dann immer noch das problem, dass ich null ahnung von der thematik habe ;)

gibt es da denn nichts, was man für ein beispiel in 10 zeilen schreiben kann und dann wird das umgerechnet :confused:
 
frogi am 21.10.2008 19:33 schrieb:
gibt es da denn nichts, was man für ein beispiel in 10 zeilen schreiben kann und dann wird das umgerechnet :confused:
Sorry, aber ich versteh deine Fragen immer weniger.

Wenn du hier konkrete Tipps willst, postest du am besten den Algorithmus oder wenigstens die "Aufgabenstellung".
 
man soll verschiedene bonuspunkte berechnen können, die man erreichen kann.
alles mit operand int ( ein bsp. findest du in meinem ersten post ).
jo, das wars eigentlich schon.
achso, um die berechnung darzustellen... "system.out.println(...) ....diese anweisung verwenden.
die punkte in klammern soll der ausruck zur berechnung sein.
 
frogi am 21.10.2008 21:42 schrieb:
man soll verschiedene bonuspunkte berechnen können, die man erreichen kann.
alles mit operand int ( ein bsp. findest du in meinem ersten post ).
jo, das wars eigentlich schon.
achso, um die berechnung darzustellen... "system.out.println(...) ....diese anweisung verwenden.
die punkte in klammern soll der ausruck zur berechnung sein.
Wie soll die Eingabe umgesetzt werden? Per Konsole? Als Kommandozeilenargument? Und was genau wird eingegeben?

Und zu guter Letzt: Wie lautet die Formel zur Berechnung?


In etwa sollte das aber so aussehen:

Code:
import java.io.*;
class Bonus {
  public static void main (String[] args) {
    int eingabe = 0;
    System.out.print("Eingabe: ");
    try {
      BufferedReader sysIn =
          new BufferedReader(new InputStreamReader(System.in));
      eingabe = Integer.parseInt(sysIn.readLine());
      sysIn.close();
    }
    catch (Exception e) {
    }
    int bonus = eingabe; //Rechnung
    System.out.println("Bonus: " + bonus);
  }
}

Der Try-Block kommt mir etwas umständlich vor - hab mich schon länger nicht mehr mit Java beschäftigt und hab deswegen nur Methoden genommen, die mir sofort eingefallen sind. :B
 
Wie soll die Eingabe umgesetzt werden? Per Konsole? Als Kommandozeilenargument? Und was genau wird eingegeben?

ja also wenn ich jetzt netbeans nehmen würde und dann auf "run" klicke solle es unten im feld ausgegeben werden. also per konsole.

Und zu guter Letzt: Wie lautet die Formel zur Berechnung?


die formel lautet: 0,4* praktikumspunkte-50/100 * max. klausurpunkte . dann soll rauskommen wieviel bonuspunkte man erhalten kann.
wie würde das dann zu guter letzt in netbeans, notepad etc. aussehen :confused:

da ja nur int typen gebraucht werden sollen, muss man die 0,4 noch umformen oder? wie macht man das?
 
Eine Klasse Bonuspunkte könnte so aussehen :

public class Bonuspunkte
{
private int praktikumspunkte;
private int max_klausurpunkte;
private double bonuspunkte;

public Bonuspunkte(int p, int m)
{
this.praktikumspunkte = p;
this.max_klausurpunkte = m;
}

public double getBonuspunkte()
{
this.bonuspunkte = 0.4*this.praktikumspunkte- 50/100*this.max_klausurpunkte;

return this.bonuspunkte; //fehlen noch klammern bei der formel bei -50/100?
}


}

Dann muss mann in der main Methode ein objekt der klasse erstellen und mit der Methode
getBonuspunkte die Bonuspunkte berechnen.

z.B.

public static void main(Stirng[] args)
{
Bonuspunkte b = new Bonuspunkte(50,40);
System.out.println(b.getBonuspunkte());
}
 
habs hinbekommen :)

trotzdem noch ne kurze frage:

währungsumrechnungsformel: Euro=Mark/1,95583

Jetzt will ich aber nur den Datentyp int verwenden. Ich kann also nicht beliebig große D Mark beträge umrechnen, sondern nur einen maximalen Betrag, für den die oben angegebene Formel noch korrekt funktioniert ( da int, muss ich ja immer erst das komma von 1,95583 wegbekommen ).

Wie finde/berechne ich jetzt diese maximalen Betrag raus?
 
Schöne Grüße vom Luis ^^
Samstag ist Stichtag. Mal gucken, ob dus alleine hinbekommst :-D
 
frogi am 22.10.2008 14:10 schrieb:
habs hinbekommen :)

trotzdem noch ne kurze frage:

währungsumrechnungsformel: Euro=Mark/1,95583

Jetzt will ich aber nur den Datentyp int verwenden. Ich kann also nicht beliebig große D Mark beträge umrechnen, sondern nur einen maximalen Betrag, für den die oben angegebene Formel noch korrekt funktioniert ( da int, muss ich ja immer erst das komma von 1,95583 wegbekommen ).

Wie finde/berechne ich jetzt diese maximalen Betrag raus?

Integer.MAX_VALUE gibt die größtmöglichen int Zahl aus.
Aber warum willst du nur int-Typen benutzen und nicht float/double?
Mit int kriegste doch nie die richtigen Umrechnungen, sondern nur die ganzen Zahlen.
 
nur int werte ist es eine vorgabe.

/** Größtmögliche, darstellbare int Zahl wird benötigt System.out.println(Integer.MAX_VALUE) */

System.out.println(2147483647 / 1.95583 / 100000 * 100000); So korrekt?

nochmal die formel zur umrechnung: euro = dmark / 1,95583
 
Zurück