Verwenden Sie die Java Math-Quadratwurzelmethode, um Quadratwurzeln von 1 bis 1.000 zu berechnen. Geben Sie nur die ganzen Zahlen aus. Beginnen Sie nicht damit, Quadrate zu berechnen und dann die Quadratwurzel dieser Zahl auszudrucken. Berechnen Sie alle Quadratwurzeln und bestimmen Sie, ob es sich um ganze Zahlen handelt.Verwenden Sie die Java Math-Quadratwurzelmethode, um Quadratwurzeln von 1 bis 1.000 zu berechnen. Dann geben Sie nur die ganzen Zahlen aus
Ich sah mehrere Antworten, die um die Lösung zu tanzen schien, aber keiner von ihnen so sehr prägnant. Hier ist was ich bisher habe.
public class Assignment9
{
public static void main(String[] args)
{
double root = 1;
double sqrt = Math.sqrt(root);
do
{
if(sqrt % 1 == 0)
{
System.out.printf("%.0f\t%.0f%n", root, Math.sqrt(root));
root++;
}
}
while(root <= 1000);
}
}
Der Ausgang druckt die Quadratwurzeln, aber zählt fortlaufend jede Zahl. Ich möchte nur eine Zahl pro perfektes Quadrat ausdrucken (z. B. 1 1, 4 2, 9 3 usw.). Ich verstehe die Frage, aber jedes Mal, wenn ich das Programm ausführen ich dies als meine Ausgabe:
1 1
2 1
3 2
4 2
5 2
6 2
7 3
8 3
9 3
10 3
...
1000 32
Was ist los mit Ihrer Einrückung? – khelwood
Da Sie im Voraus wissen, wann Sie aufhören müssen, verwenden Sie die for-Schleife anstelle von do..while. Sie sparen eine Inkrementoperation. – spi
Obwohl dies nicht mit Ihrem Problem zusammenhängt, haben Sie eine leichtere Zeit zum Codieren, indem Sie die for- und while-Schleife öfter verwenden als die Do-while-Schleife. Sie geben Ihnen mehr Kontrolle darüber, wie Sie in einem einfacher zu verwendenden Format iterieren. –