Duplikationen

klara.9004

Neues Mitglied
Hallo alle zusammen,

ich habe eine sehr dringende Frage bezüglich einer Aufgabe und komme wirklich nicht weiter. Es wäre sehr hilfreich, wenn mir einer von euch helfen könnte.

Das folgende Programm ist funktionsfähig, enthält aber Duplikationen im Programmcode. Duplikationen sind beim Programmieren ein sicherer Weg ins Verderben.

Vervollständigen Sie die Methoden und ersetzen Sie die Duplikationen durch Aufrufe der Methoden!

  • In der Methode getInput soll die Nutzer-Eingabe und die zugehörige(n) Ausgabe(n) gemacht werden. Die Eingabe wird zurückgegeben.
  • Die Methode calc hat 3 Argumente, mit den übergebenen Werten führt sie eine Rechnung aus. Das Ergebnis der Berechnung wird zurückgegeben. Die Methode macht keine Eingabe und keine Ausgabe.
Die Funktionalität des Programms darf nicht geändert werden!
Die Methodenköpfe sind gegeben und müssen verwendet werden!
Es dürfen darüber hinaus keine Methoden geschrieben werden!
Kein Methodenkopf darf verändert werden!
Die main-Methode darf nach der Änderung nicht mehr als 6 Anweisungen (bzw. ";" - Semikolons) enthalten!
Terminal.java darf verwendet werden.

Hinweis:
Getestet werden alle Methoden und die Einhaltung der Anweisungsgrenze. Zum Testen der calc-Methode wird die interne testCalc-Methode verwendet, die die calc-Methode mit ihren Argumenten aufruft und das Ergebnis ausgibt.

Wird der konkrete Code durch die geforderten Änderungen kürzer? Nein.
Wird er robuster? Ja.
In welcher Hinsicht? Robuster gegen Programmierfehler bei der Codeerstellung und bei der Codewartung (-änderung).
Ist dies hier ein künstliches Beispiel? Ja. Es dient aber dem Lernen und der Überprüfung des Lernerfolgs.

Zum Beispiel:

TestEingabeResultat
testStatementCount()Es stehen nicht mehr als 6 Anweisungen in der main-Methode.
Duplicate.getInput()182Enter next value: Your choice was: 182. Well done!
testCalc(42,2,5)Calculated: 11
testCalc(89,3531,-11)Calculated: 2102
Duplicate.main(null)1
8
2
Enter next value: Your choice was: 1. Well done!
Enter next value: Your choice was: 8. Well done!
Enter next value: Your choice was: 2. Well done!
Result: 23


Java:
import java.util.Scanner;

public class Duplicate{
  
   public static void main(String[] args) {
      int x = 50, y = 30, tmp = 0, input = 0;
    
      Scanner eingabewert = new Scanner(System.in);
            
      input = Terminal.askInt("Enter next value: ");
      System.out.println ("Your choice was: " + input + ". Well done!");
      sum ((1.01 * x + 1.77 * (y - 10) + 1.22 * input)/3);
      input = Terminal.askInt("Enter next value: ");
      System.out.println ("Your choice was: " + input + ". Well done!");
      sum ((1.01 * x + 1.77 * (tmp - 10) + 1.22 * input)/3);
      input = Terminal.askInt("Enter next value: ");
       System.out.println ("Your choice was: " + input + ". Well done!");
      sum ((1.01 * tmp + 1.77 * (tmp - 10) + 1.22 * input)/3);
      System.out.println( "Result: " + tmp);
   }
 
   public static int getInput(String[] args) {
       int x = 50 ;
       int y = 30 ;
       int tmp = ((1.01 * x + 1.77 * (y - 10) + 1.22 * input)/3);
       return tmp;
      
   }
  
   public static int calc(int a, int b, int c) {
    
   }
 
}


Ich danke Ihnen vielmals!
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Oben