Mahlzeit,
ich habe da ein problem.
ich habe hier eine übungsklausur liegen, leider gibt es aber kein lösung dafür.
deswegen stelle ich euch meine lösung vor und, ich hoffe, ihr könnt mir sagen ob meine gedankengänge richtig sind. würde mich wirklich freuen...
_______________________________________________________________________
int result;
int a = 13, b = 10, c = 5, d = 6;
result = 5;
result += (a + c) * b++;
-> Wie lautet hier das Ergebnis?
Ich wüde sagen 253
-> Außerdem, macht es einen Unterschied ob da steht b++ oder ++b?
result = b * --a - c * d;
-> Wie lautet hier das Ergebnis?
Ich wüde sagen 90
_______________________________________________________________________
Definiert seien die Klassen Line und Point. Schreiben Sie die SIGNATUREN zweier Konstruktoren der Klasse Line auf. Beim ersten Konstruktor soll ein zu erzeugendes Objekt über zwei Dezimalzahlen initialsiert werden. Beim zweiten Konstruktor soll ein zu erzeugendes Objekt über ein Objekt der Klasse Point initialsiert werden.
Meine Lösung:
public Line (int zahl1, int zahl2);
public Point (); <- ist es hier richtig das es keine Parametr gibt?
Deklarieren Sie beispielhaft eine Variable, in der ganze Zahlen abgespeichert werden können:
int Zahl; <- stimmt das? kommt mir komisch vor??
Weisen Sie der Variablen beispielhaft einen Wert zu:
Zahl = 30;
_______________________________________________________________________
Ein Java-Programm enthalte folgende Programmzeilen:
int selektor = 1;
switch (selektor){
case 0 : System.out.print("Null");
case 1 : System.out.print("Eins");
case 2 : System.out.print("Zwei"); break;
default: System.out.print("UndSoWeiter"); }
Welche Ausgabe erfolgt auf dem Bildschirm nach Abarbeitung dieser Programmzeilen?
kommt mir zu einfach vor....Ausgabe ist hier "Eins", oder nicht?
Wandeln Sie die Verzweigung aus Teil a) in eine if – Struktur um, die bei allen denkbaren Werten für selektor dieselbe Ausgabe produziert wie die gegebene switch-Struktur:
Meine Lösung:
if (selector == 0){
system.out.print("Null");
}
if(selector == 1){
system.ot.print("Eins");
}
if(selector == 2){
system.ot.print("Zwei");
}
else
{
system.ot.print("UndsoWeiter");
}
Sind hier eigentlich die Klammern richtig gesetzt?
______________________________________________________________________
Die folgenden Programmzeilen stammen aus einem Java-Programm.
if (a==b)
if(b!=c)
Anweisung1;
else Anweisung2;
Welche Anweisung wird ausgeführt, wenn a=1, b=1 und c=2 ist?
Anweisung 1
Welche Anweisung wird ausgeführt, wenn a=1, b=2 und c=2 ist?
Anweisung 2
Ist es normal dass bei den vorgegebenen code bei den if bedingungen keine klammern gesetzt sind?
______________________________________________________________________
Finden Sie eine sinnvolle Einrückung für folgenden Java-Quelltext-Ausschnitt: (Gehen Sie davon aus, dass alle verwendeten Bezeichner weiter oben geeignet definiert wurden.)
if(a<10)if(pointer==null)System.err.println( “Es fehlt ein Wert!”);else{s=a+b;m=a/2;}else a-10;if(s>=10) System.out.println(“s: ” + s + “ und m:” + m);
if(a<10)
if(pointer==null)
System.err.println( “Es fehlt ein Wert!”);
else{
s=a+b;
m=a/2;
}
else
a-10; ??warum stehen hier im vorgegeben code keine gescheiten klammern, ist das richtig so?
if(s>=10)
System.out.println(“s: ” + s + “ und m:” + m); auch hier sind keine geschweiten klammern, wieso?
______________________________________________________________________
Die folgenden Programmzeilen stammen aus einem Java-Programm. Welchen Wert haben ganz und i während und nach Abarbeitung der Schleife? Arbeiten Sie diese Schleife systematisch ab. Als Hilfestellung dient Ihnen die Tabelle. Tragen Sie hier die Werte vor Abarbeitung der Schleife und nach jedem Durchlauf ein.
int i = 4;
ganz = 10;
while (i++ <= 6)
ganz++;
Werte vor beginn:
ganz=10 i=4
Nach Durchlauf:
1. ganz=11 i= 4
2. ganz=12 i= 5
3. ganz=13 i= 6
Außerdem möchte ich noch wissen ob bei diesem code ->while (i++ <= 6)<- , erst geprüft wird und dann wird i um eins erhöht oder anders rum?
______________________________________________________________________
Die folgenden Programmzeilen stammen aus einem Java-Programm.
int i;
for (i=0; i<2; i++){
System.out.print(i);
}
Welche Bildschirmausgabe liefert das Programm? Nach Druchlauf 1. Ausgabe = 0/ Nach Durchlauf 2. Ausgabe = 1
Welchen Wert hat i nach Abarbeitung der Schleife?
Lösung "2"
______________________________________________________________________
Programmieren Sie eine Methode rueckwaerts(), die den Inhalt der gegebenen Reihung werte in umgekehrter Reihenfolge und mit Trennzeichen auf dem Bildschirm ausgibt. Verwenden Sie eine for-Schleife so, dass die Methode auch für Felder mit anderen Werten funktioniert. Die Ausgabe sollte für das gegebene Beispiel so aussehen: 7,3,9,2,4
int[] werte = {4,2,9,3,7};
public void rueckwaerts(){
for(i = werte.length; i<=werte.length; i--){
system.out.print(Werte[Werte.length] + ",");
}
}
Gleich noch ne dumme frage dazu. Eine Void-Methode hat doch eigentlich keinen rückgabewert.
hier werden aber werte ausgegeben. wieso ist das denn so?
mir ist schon klar, dass man mittels system.out.print werte ausgeben kann...aber trotzdem finde ich
das komisch...könnt ihr noch etwas dazu sagen....??
______________________________________________________________________
b) Deklarieren und erzeugen Sie eine zweidimensionale Reihung (Array), in der Sie zu jeder Spielfarbe (Kreuz, Pik, Herz, Karo) drei Kartenwerte (Texte) speichern können:
Meine Lösung:
string[][] karten = new string[4][4];
Tragen Sie beispielhaft den Kartenwert „König“ bei der Farbe „Herz“ in Ihre Reihung ein:
Meine Lösung:
karten[2][1]=könig;
Gegeben ist ein Zeichenkettenobjekt der Klasse String. Weisen Sie diesem Objekt den dritten Kartenwert, der bei der Farbe Kreuz in der Reihung eingetragen ist, zu: (Sie können davon ausgehen, dass der Wert in der Reihung korrekt gesetzt ist.)
string zeichenobjekt = karten [2][2];
wo ist hier der unterschied zur vorherigen aufgabe, kommt mir komisch vor???
häää.
______________________________________________________________________
Schreiben Sie ein einfaches Java-Programm Maximum.java, das ganze Zahlen über Tastatur einliest und in einer Reihung speichert. Anschließend soll die größte der eingelesenen Zahlen ermittelt und am Bildschirm ausgegeben werden. Benutzen Sie zum Einlesen ganzer Zahlen über Tastatur die Methode getInputInt(String text)aus dem Paket vfh.prog1.bib.konsole. Sie können voraussetzen, dass der Pfad zum Verzeichnis vfh.prog1.bib.konsole im CLASSPATH gesetzt wurde. Fügen Sie sparsam einige sinnvolle Kommentare ein.
import vfh.prog1.bib.konsole.*;
public class Maximum {
public static void main (string [] args)
{
int[] werte = 6;
for(i=0; i<=werte.length; i++){
Werte = konsole.getInput("Zahl?");
}
for(i=werte.length; i=werte.length; i--){
if(Werte < Werte[i-1){
werte = werte[i-1];
}
else{
System.out.print(werte);
}
______________________________________________________________________
sooooo das wars.
ich weiß ist schon extrem veil was ich hier frage, würde mich aber mega über hilfe freuen!!

so dann erstmal schönes we!
ciao
java__neuling!!
ich habe da ein problem.
ich habe hier eine übungsklausur liegen, leider gibt es aber kein lösung dafür.
deswegen stelle ich euch meine lösung vor und, ich hoffe, ihr könnt mir sagen ob meine gedankengänge richtig sind. würde mich wirklich freuen...
_______________________________________________________________________
int result;
int a = 13, b = 10, c = 5, d = 6;
result = 5;
result += (a + c) * b++;
-> Wie lautet hier das Ergebnis?
Ich wüde sagen 253
-> Außerdem, macht es einen Unterschied ob da steht b++ oder ++b?
result = b * --a - c * d;
-> Wie lautet hier das Ergebnis?
Ich wüde sagen 90
_______________________________________________________________________
Definiert seien die Klassen Line und Point. Schreiben Sie die SIGNATUREN zweier Konstruktoren der Klasse Line auf. Beim ersten Konstruktor soll ein zu erzeugendes Objekt über zwei Dezimalzahlen initialsiert werden. Beim zweiten Konstruktor soll ein zu erzeugendes Objekt über ein Objekt der Klasse Point initialsiert werden.
Meine Lösung:
public Line (int zahl1, int zahl2);
public Point (); <- ist es hier richtig das es keine Parametr gibt?
Deklarieren Sie beispielhaft eine Variable, in der ganze Zahlen abgespeichert werden können:
int Zahl; <- stimmt das? kommt mir komisch vor??
Weisen Sie der Variablen beispielhaft einen Wert zu:
Zahl = 30;
_______________________________________________________________________
Ein Java-Programm enthalte folgende Programmzeilen:
int selektor = 1;
switch (selektor){
case 0 : System.out.print("Null");
case 1 : System.out.print("Eins");
case 2 : System.out.print("Zwei"); break;
default: System.out.print("UndSoWeiter"); }
Welche Ausgabe erfolgt auf dem Bildschirm nach Abarbeitung dieser Programmzeilen?
kommt mir zu einfach vor....Ausgabe ist hier "Eins", oder nicht?
Wandeln Sie die Verzweigung aus Teil a) in eine if – Struktur um, die bei allen denkbaren Werten für selektor dieselbe Ausgabe produziert wie die gegebene switch-Struktur:
Meine Lösung:
if (selector == 0){
system.out.print("Null");
}
if(selector == 1){
system.ot.print("Eins");
}
if(selector == 2){
system.ot.print("Zwei");
}
else
{
system.ot.print("UndsoWeiter");
}
Sind hier eigentlich die Klammern richtig gesetzt?
______________________________________________________________________
Die folgenden Programmzeilen stammen aus einem Java-Programm.
if (a==b)
if(b!=c)
Anweisung1;
else Anweisung2;
Welche Anweisung wird ausgeführt, wenn a=1, b=1 und c=2 ist?
Anweisung 1
Welche Anweisung wird ausgeführt, wenn a=1, b=2 und c=2 ist?
Anweisung 2
Ist es normal dass bei den vorgegebenen code bei den if bedingungen keine klammern gesetzt sind?
______________________________________________________________________
Finden Sie eine sinnvolle Einrückung für folgenden Java-Quelltext-Ausschnitt: (Gehen Sie davon aus, dass alle verwendeten Bezeichner weiter oben geeignet definiert wurden.)
if(a<10)if(pointer==null)System.err.println( “Es fehlt ein Wert!”);else{s=a+b;m=a/2;}else a-10;if(s>=10) System.out.println(“s: ” + s + “ und m:” + m);
if(a<10)
if(pointer==null)
System.err.println( “Es fehlt ein Wert!”);
else{
s=a+b;
m=a/2;
}
else
a-10; ??warum stehen hier im vorgegeben code keine gescheiten klammern, ist das richtig so?
if(s>=10)
System.out.println(“s: ” + s + “ und m:” + m); auch hier sind keine geschweiten klammern, wieso?
______________________________________________________________________
Die folgenden Programmzeilen stammen aus einem Java-Programm. Welchen Wert haben ganz und i während und nach Abarbeitung der Schleife? Arbeiten Sie diese Schleife systematisch ab. Als Hilfestellung dient Ihnen die Tabelle. Tragen Sie hier die Werte vor Abarbeitung der Schleife und nach jedem Durchlauf ein.
int i = 4;
ganz = 10;
while (i++ <= 6)
ganz++;
Werte vor beginn:
ganz=10 i=4
Nach Durchlauf:
1. ganz=11 i= 4
2. ganz=12 i= 5
3. ganz=13 i= 6
Außerdem möchte ich noch wissen ob bei diesem code ->while (i++ <= 6)<- , erst geprüft wird und dann wird i um eins erhöht oder anders rum?
______________________________________________________________________
Die folgenden Programmzeilen stammen aus einem Java-Programm.
int i;
for (i=0; i<2; i++){
System.out.print(i);
}
Welche Bildschirmausgabe liefert das Programm? Nach Druchlauf 1. Ausgabe = 0/ Nach Durchlauf 2. Ausgabe = 1
Welchen Wert hat i nach Abarbeitung der Schleife?
Lösung "2"
______________________________________________________________________
Programmieren Sie eine Methode rueckwaerts(), die den Inhalt der gegebenen Reihung werte in umgekehrter Reihenfolge und mit Trennzeichen auf dem Bildschirm ausgibt. Verwenden Sie eine for-Schleife so, dass die Methode auch für Felder mit anderen Werten funktioniert. Die Ausgabe sollte für das gegebene Beispiel so aussehen: 7,3,9,2,4
int[] werte = {4,2,9,3,7};
public void rueckwaerts(){
for(i = werte.length; i<=werte.length; i--){
system.out.print(Werte[Werte.length] + ",");
}
}
Gleich noch ne dumme frage dazu. Eine Void-Methode hat doch eigentlich keinen rückgabewert.
hier werden aber werte ausgegeben. wieso ist das denn so?
mir ist schon klar, dass man mittels system.out.print werte ausgeben kann...aber trotzdem finde ich
das komisch...könnt ihr noch etwas dazu sagen....??
______________________________________________________________________
b) Deklarieren und erzeugen Sie eine zweidimensionale Reihung (Array), in der Sie zu jeder Spielfarbe (Kreuz, Pik, Herz, Karo) drei Kartenwerte (Texte) speichern können:
Meine Lösung:
string[][] karten = new string[4][4];
Tragen Sie beispielhaft den Kartenwert „König“ bei der Farbe „Herz“ in Ihre Reihung ein:
Meine Lösung:
karten[2][1]=könig;
Gegeben ist ein Zeichenkettenobjekt der Klasse String. Weisen Sie diesem Objekt den dritten Kartenwert, der bei der Farbe Kreuz in der Reihung eingetragen ist, zu: (Sie können davon ausgehen, dass der Wert in der Reihung korrekt gesetzt ist.)
string zeichenobjekt = karten [2][2];
wo ist hier der unterschied zur vorherigen aufgabe, kommt mir komisch vor???
häää.
______________________________________________________________________
Schreiben Sie ein einfaches Java-Programm Maximum.java, das ganze Zahlen über Tastatur einliest und in einer Reihung speichert. Anschließend soll die größte der eingelesenen Zahlen ermittelt und am Bildschirm ausgegeben werden. Benutzen Sie zum Einlesen ganzer Zahlen über Tastatur die Methode getInputInt(String text)aus dem Paket vfh.prog1.bib.konsole. Sie können voraussetzen, dass der Pfad zum Verzeichnis vfh.prog1.bib.konsole im CLASSPATH gesetzt wurde. Fügen Sie sparsam einige sinnvolle Kommentare ein.
import vfh.prog1.bib.konsole.*;
public class Maximum {
public static void main (string [] args)
{
int[] werte = 6;
for(i=0; i<=werte.length; i++){
Werte = konsole.getInput("Zahl?");
}
for(i=werte.length; i=werte.length; i--){
if(Werte < Werte[i-1){
werte = werte[i-1];
}
else{
System.out.print(werte);
}
______________________________________________________________________
sooooo das wars.
ich weiß ist schon extrem veil was ich hier frage, würde mich aber mega über hilfe freuen!!
so dann erstmal schönes we!
ciao
java__neuling!!
Zuletzt bearbeitet von einem Moderator: