Sammlung von Java-Programmieraufgaben

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 18,95 KB

Dieses Dokument enthält eine Reihe von Programmierübungen in Java, die grundlegende Konzepte und Algorithmen abdecken.

  1. 1. Durchschnitt einer Zahlenfolge (N bekannt)

    Schreiben Sie ein Programm, das den Durchschnitt einer Folge von N Zahlen anzeigt, die vom Benutzer eingegeben werden. Das Programm sollte N beim Start abfragen.

    
    import java.util.*;
    public class PromedioN {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie die Anzahl der Ziffern ein:");
      int n = input.nextInt();
      int sum = 0;
      for (int i = 1; i <= n; i = i + 1) {
        System.out.print ("Nummer " + i + ". Element:");
        int x = input.nextInt();
        sum = sum + x;
      }
      System.out.println ("Der Durchschnitt liegt bei: " + ((double)sum / n));
    }
    }
        
  2. 2. Wurzeln einer quadratischen Gleichung

    Berechnen Sie die Wurzeln der quadratischen Gleichung ax² + bx + c = 0. Das Programm sollte überprüfen, ob a ungleich 0 ist, da es sonst keine quadratische Gleichung ist. Hinweis: Verwenden Sie die traditionelle Formel zur Berechnung der quadratischen Wurzeln.

    
    import java.util.*;
    public class Estate {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("a:");
      int a = input.nextInt();
      System.out.print ("b:");
      int b = input.nextInt();
      System.out.print ("c:");
      int c = input.nextInt();
      if (a == 0) {
        System.out.println ("Es ist keine quadratische Gleichung.");
      } else {
        int diskriminante = b * b - 4 * a * c;
        if (diskriminante < 0) {
          System.out.println ("Keine reelle Lösung.");
        } else if (diskriminante == 0) {
          System.out.println ("Die Lösung ist: " + (-b / (2.0 * a)));
        } else { // positive Diskriminante
          System.out.println ("Lösung 1 ist: " + (-b + Math.sqrt(diskriminante)) / (2.0 * a));
          System.out.println ("Lösung 2 ist: " + (-b - Math.sqrt(diskriminante)) / (2.0 * a));
        }
      }
    }
    }
        
  3. 3. Euklidische Distanz zwischen zwei Punkten

    Zeigen Sie die euklidische Distanz zwischen zwei Punkten (x1, y1) und (x2, y2) an, wobei die Koordinaten vom Benutzer eingegeben werden.

    
    import java.util.*;
    public class DistanciaPitagorica {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("x1 eingeben:");
      int x1 = input.nextInt();
      System.out.print ("y1 eingeben:");
      int y1 = input.nextInt();
      System.out.print ("x2 eingeben:");
      int x2 = input.nextInt();
      System.out.print ("y2 eingeben:");
      int y2 = input.nextInt();
      double distance = Math.sqrt(Math.pow((x1 - x2), 2) + Math.pow((y1 - y2), 2));
      System.out.println ("Der Abstand ist: " + distance);
    }
    }
        
  4. 4. Wiederholung eines Zeichens (N-mal)

    Lassen Sie den Buchstaben 'a' N-mal wiederholen, wobei N eine vom Benutzer eingegebene Zahl ist.

    
    import java.util.*;
    public class NVecesA {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie die Nummer ein:");
      int n = input.nextInt();
      for (int i = 1; i <= n; i = i + 1) {
        System.out.print ("a");
      }
    }
    }
        
  5. 5. Größte und kleinste Zahl (Ende mit 0)

    Zeigen Sie die größte und kleinste Zahl aus einer Folge von vom Benutzer eingegebenen Zahlen (größer als 0) an. Die Eingabe endet mit 0.

    
    import java.util.*;
    public class MayorMenor {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      int largest = -100000; // sehr kleine Zahl
      int minor = 100000; // sehr große Zahl
      while (true) {
        System.out.print ("Zahl:");
        int n = input.nextInt();
        if (n == 0) {
          break;
        }
        largest = Math.max(largest, n);
        minor = Math.min(minor, n);
      }
      System.out.println ("Die größte Zahl ist: " + largest);
      System.out.println ("Die kleinste Zahl ist: " + minor);
    }
    }
        
  6. 6. Primzahlprüfung

    Zeigen Sie an, ob eine eingegebene Zahl eine Primzahl ist oder nicht.

    
    import java.util.*;
    public class Primo {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie die Nummer ein:");
      int n = input.nextInt();
      boolean isPrime = true;
      for (int i = 2; i < n; i = i + 1) {
        if (n % i == 0) {
          isPrime = false;
        }
      }
      if (isPrime) {
        System.out.println (n + " ist eine Primzahl.");
      } else {
        System.out.println (n + " ist keine Primzahl.");
      }
    }
    }
        
  7. 7. Fakultät einer Zahl

    Zeigen Sie die Fakultät einer eingegebenen Zahl an.

    
    import java.util.*;
    public class Fakultaet {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Zahl:");
      int n = input.nextInt();
      int factorial = 1;
      for (int c = 1; c <= n; c = c + 1) {
        factorial = factorial * c;
      }
      System.out.println ("Die Fakultät von " + n + " ist " + factorial);
    }
    }
        
  8. 8. Perfekte Zahlprüfung

    Fragen Sie nach einer Zahl und zeigen Sie an, ob sie perfekt ist oder nicht. Eine perfekte Zahl ist eine positive ganze Zahl, die gleich der Summe ihrer echten Teiler (Teiler außer sich selbst) ist. Zum Beispiel ist 6 perfekt, da 1 + 2 + 3 = 6.

    
    import java.util.*;
    public class Perfect {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie eine Zahl ein:");
      int n = input.nextInt();
      int sumOfProperDivisors = 0;
      for (int i = 1; i < n; i = i + 1) {
        if (n % i == 0) {
          sumOfProperDivisors = sumOfProperDivisors + i;
        }
      }
      if (sumOfProperDivisors == n) {
        System.out.println (n + " ist perfekt.");
      } else {
        System.out.println (n + " ist nicht perfekt.");
      }
    }
    }
        
  9. 9. Durchschnitt einer Zahlenfolge (Ende mit 0)

    Zeigen Sie den Durchschnitt einer Zahlenfolge an, die vom Benutzer eingegeben wird. Das Ende der Sequenz wird durch eine 0 angezeigt.

    
    import java.util.*;
    public class Durchschnittliche {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      int sum = 0;
      int count = 0;
      while (true) {
        System.out.print ("Zahl:");
        int n = input.nextInt();
        if (n == 0) {
          break;
        }
        sum = sum + n;
        count = count + 1;
      }
      System.out.println ("Der Durchschnitt liegt bei: " + ((double)sum / count));
    }
    }
        
  10. 10. Potenzberechnung (x hoch y)

    Zeigen Sie das Ergebnis von x hoch y an, wobei x und y vom Benutzer eingegebene Zahlen sind.

    
    import java.util.*;
    public class Power {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("x:");
      int x = input.nextInt();
      System.out.print ("y:");
      int y = input.nextInt();
      int result = 1;
      for (int i = 1; i <= y; i++) {
        result = result * x;
      }
      System.out.println ("Ergebnis: " + result);
    }
    }
        
  11. 11. Anzahl der Ziffern einer Zahl

    Zeigen Sie die Anzahl der Ziffern einer vom Benutzer eingegebenen Zahl an.

    
    import java.util.*;
    public class CantidadDigitos {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie eine Zahl ein:");
      int n = input.nextInt();
      int count = 0;
      while (n > 0) {
        n = n / 10;
        count = count + 1;
      }
      System.out.println ("Die Zahl ist " + count + "-stellig.");
    }
    }
        
  12. 12. i-te Ziffer einer Zahl

    Zeigen Sie die i-te Ziffer einer Zahl an (von rechts nach links). Zum Beispiel, wenn die Zahl 3456 ist und Sie die dritte Ziffer wünschen, ist die Antwort 4.

    
    import java.util.*;
    public class Digit {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie eine Zahl ein:");
      int n = input.nextInt();
      System.out.print ("Welche Ziffer möchten Sie:");
      int pos = input.nextInt();
      int count = 0;
      int digit = -1;
      while (count < pos) {
        digit = n % 10;
        n = n / 10;
        count = count + 1;
      }
      System.out.println ("Ziffer: " + digit);
    }
    }
        
  13. 13. Perfekte Zahlen bis N

    Fragen Sie nach einer Zahl N und zeigen Sie alle perfekten Zahlen an, die kleiner oder gleich N sind.

    
    import java.util.*;
    public class NPerfectos {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie eine Zahl ein:");
      int n = input.nextInt();
      for (int number = 2; number <= n; number = number + 1) {
        int sumOfProperDivisors = 0;
        for (int j = 1; j < number; j = j + 1) {
          if (number % j == 0) {
            sumOfProperDivisors = sumOfProperDivisors + j;
          }
        }
        if (sumOfProperDivisors == number) {
          System.out.println (number);
        }
      }
    }
    }
        
  14. 14. Primzahlen bis N

    Zeigen Sie alle Primzahlen an, die kleiner oder gleich N sind, wobei N vom Benutzer eingegeben wird.

    
    import java.util.*;
    public class PrimosHastaN {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie die Nummer ein:");
      int n = input.nextInt();
      System.out.println ("Liste der Primzahlen:");
      for (int i = 2; i <= n; i = i + 1) {
        boolean isPrime = true;
        for (int j = 2; j < i; j = j + 1) {
          if (i % j == 0) {
            isPrime = false;
          }
        }
        if (isPrime) {
          System.out.println (i);
        }
      }
    }
    }
        
  15. 15. Die ersten N Primzahlen

    Zeigen Sie die ersten N Primzahlen an, wobei N vom Benutzer eingegeben wird.

    
    import java.util.*;
    public class NPrimos {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Geben Sie die Nummer ein:");
      int n = input.nextInt();
      System.out.println ("Liste der ersten " + n + " Primzahlen:");
      int count = 0;
      for (int i = 2; count < n; i = i + 1) {
        boolean isPrime = true;
        for (int j = 2; j < i; j = j + 1) {
          if (i % j == 0) {
            isPrime = false;
          }
        }
        if (isPrime) {
          System.out.println (i);
          count = count + 1;
        }
      }
    }
    }
        
  16. 16. Die zwei größten Zahlen (Ende mit 0)

    Zeigen Sie die größte und zweitgrößte Zahl aus einer Folge von vom Benutzer eingegebenen Zahlen an. Die Eingabe endet mit 0.

    
    import java.util.*;
    public class DosMayores {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      int primerMayor = -100000; // sehr kleine Zahl
      int segundoMayor = -100000; // sehr kleine Zahl
      while (true) {
        System.out.print ("Zahl:");
        int n = input.nextInt();
        if (n == 0) {
          break;
        }
        if (n > primerMayor) {
          segundoMayor = primerMayor;
          primerMayor = n;
        } else if (n > segundoMayor) {
          segundoMayor = n;
        }
      }
      System.out.println ("Die 1. größte Zahl: " + primerMayor);
      System.out.println ("Die 2. größte Zahl: " + segundoMayor);
    }
    }
        
  17. 17. Die zwei größten Zahlen (N bekannt)

    Zeigen Sie die größte und zweitgrößte Zahl aus einer Folge von N vom Benutzer eingegebenen Zahlen an, wobei N zuvor vom Benutzer festgelegt wird.

    
    import java.util.*;
    public class DosMayoresN {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.println ("Wie viele Zahlen möchten Sie eingeben:");
      int n = input.nextInt();
      int primerMayor = Integer.MIN_VALUE;
      int segundoMayor = Integer.MIN_VALUE;
      int number;
      for (int i = 0; i < n; i = i + 1) {
        System.out.print ("Zahl:");
        number = input.nextInt();
        if (number > primerMayor) {
          segundoMayor = primerMayor;
          primerMayor = number;
        } else if (number > segundoMayor) {
          segundoMayor = number;
        }
      }
      System.out.println ("Die 1. größte Zahl: " + primerMayor);
      System.out.println ("Die 2. größte Zahl: " + segundoMayor);
    }
    }
        
  18. 18. Die drei größten Zahlen (Ende mit 0)

    Zeigen Sie die größte, zweitgrößte und drittgrößte Zahl aus einer Folge von vom Benutzer eingegebenen Zahlen (größer als 0) an. Die Eingabe endet mit 0.

    
    import java.util.*;
    public class TresMayores {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      int primerMayor = -100000; // sehr kleine Zahl
      int segundoMayor = -100000; // sehr kleine Zahl
      int tercerMayor = -100000; // sehr kleine Zahl
      while (true) {
        System.out.print ("Zahl:");
        int n = input.nextInt();
        if (n == 0) {
          break;
        }
        if (n > primerMayor) {
          tercerMayor = segundoMayor;
          segundoMayor = primerMayor;
          primerMayor = n;
        } else if (n > segundoMayor) {
          tercerMayor = segundoMayor;
          segundoMayor = n;
        } else if (n > tercerMayor) {
          tercerMayor = n;
        }
      }
      System.out.println ("Die 1. größte Zahl: " + primerMayor);
      System.out.println ("Die 2. größte Zahl: " + segundoMayor);
      System.out.println ("Die 3. größte Zahl: " + tercerMayor);
    }
    }
        
  19. 19. Befreundete Zahlen prüfen

    Zeigen Sie an, ob zwei vom Benutzer eingegebene Zahlen befreundete Zahlen sind oder nicht. Zwei Zahlen sind befreundet, wenn die Summe der echten Teiler der ersten Zahl gleich der zweiten Zahl ist und die Summe der echten Teiler der zweiten Zahl gleich der ersten Zahl ist. Zum Beispiel sind 220 und 284 befreundete Zahlen, denn 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284 und 1 + 2 + 4 + 71 + 142 = 220.

    
    import java.util.*;
    public class Freunde {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Erste Zahl eingeben:");
      int a = input.nextInt();
      System.out.print ("Zweite Zahl eingeben:");
      int b = input.nextInt();
      int sumOfProperDivisorsA = 0;
      for (int i = 1; i < a; i = i + 1) {
        if (a % i == 0) {
          sumOfProperDivisorsA = sumOfProperDivisorsA + i;
        }
      }
      int sumOfProperDivisorsB = 0;
      for (int i = 1; i < b; i = i + 1) {
        if (b % i == 0) {
          sumOfProperDivisorsB = sumOfProperDivisorsB + i;
        }
      }
      if (a == sumOfProperDivisorsB && b == sumOfProperDivisorsA) {
        System.out.println (a + " und " + b + " sind befreundete Zahlen.");
      } else {
        System.out.println (a + " und " + b + " sind keine befreundeten Zahlen.");
      }
    }
    }
        
  20. 20. Primfaktorzerlegung einer Zahl

    Zeigen Sie die Primfaktorzerlegung einer Zahl an. Die Primfaktorzerlegung einer Zahl besteht aus allen Primzahlen, die miteinander multipliziert die ursprüngliche Zahl ergeben. Zum Beispiel: 63 = 3 * 3 * 7.

    
    import java.util.Scanner;
    public class DescomposicionPrimal {
    public static void main (String [] args) {
      Scanner input = new Scanner (System.in);
      System.out.print ("Zahl:");
      int n = input.nextInt();
      for (int i = 2; i <= n; i++) {
        while (n % i == 0) {
          System.out.print (i);
          n = n / i;
          if (n > 1) {
            System.out.print (" * ");
          }
        }
      }
      System.out.println(); // For a new line after the factorization
    }
    }
        

Verwandte Einträge: