Ich kann die Math-Klasse nicht verwenden, wenn ich versuche, die Antwort zu finden. Ich muss die for-Schleifen verwenden, um die Antwort zu berechnen.
package Powers;
import TerminalIO.KeyboardReader;
public class powers {
public static void main(String [] args)
{
KeyboardReader reader= new KeyboardReader();
//Variablen
int base; //Die Basiszahl für die Berechnungen
int minE; //Der minimale Exponent, der verwendet wird
int maxE; //Der maximale Exponent, der verwendet wird
int answer; //Ob der Benutzer wiederholen möchte oder nicht
double result = 1; //Das Ergebnis der Basis zur Potenz des Exponenten
//Eingaben
do { /* Start of repeat */ base = reader.readInt ("Bitte geben Sie die Basis ein. ");
minE = reader.readInt ("Bitte geben Sie den minimalen Exponenten ein. ");
maxE = reader.readInt ("Bitte geben Sie den maximalen Exponenten ein. ");
//Fehlerüberprüfung
while (minE > maxE) {
System.out.println("Es scheint einen Fehler zu geben, Ihr minimaler Exponent ist größer als Ihr maximaler Exponent. Bitte geben Sie Ihre Werte erneut ein");
minE = reader.readInt("Geben Sie Ihren minimalen Exponenten ein. ");
maxE = reader.readInt("Geben Sie Ihren maximalen Exponenten ein. ");
}
//Ende der Fehlerüberprüfung
//Berechnungen
//Ausgabe
System.out.println(" Basis Exponent Ergebnis");
System.out.println();
int expo; //Der Exponent, mit dem die Basis potenziert wird
for (expo = minE; expo <= maxE; expo++) {
//Für Exponenten gleich 0
result = 1;
//Für Exponenten <0
if (expo <0) {
for (int i= minE;i != 0;i = i + 1) {
result = result/base;
}
}
if (expo == 0) {
result = 1 ;
}
//Für Exponenten gleich 1
if (expo == 1) {
result = base;
}
//Für Exponenten >1
if (expo > 1) {
for (int i=1;i<=expo;i++) {
result = result*base;
}
}
System.out.println( " " + base + " " + expo + " " + result);
}
System.out.println();
answer = reader.readInt ("Möchten Sie wiederholen? Geben Sie 1 ein, wenn ja.");
} while (answer == 1); //Ende der Wiederholung
}
}
Ein Beispiel für eine Ausgabe ist
Bitte geben Sie die Basis ein. 2
Bitte geben Sie den minimalen Exponenten ein. -2
Bitte geben Sie den maximalen Exponenten ein. 2
Basis Exponent Ergebnis
2 -2 0.25
2 -1 0.25
2 0 1.0
2 1 2.0
2 2 4.0
Wie Sie sehen können, funktionieren nur 0 und die positiven Zahlen, nicht die negativen.