Was ist mit dem Code falsch?
Nikita Smirnov
Was ist mit dem Code falsch?
Es gibt ein Problem: Anzahl der Stellen einer Zahl Gegeben sei eine nicht negative ganze Zahl N. Bestimmen Sie die Anzahl der Stellen in der Dezimaldarstellung der Zahl N. Spezifikationen Eingabe Im Eingabestrom in einer einzelnen Zeile enthält die Zahl N (1≤ N≤109). Ausgabe Der Ausgabestrom sollte eine einzelne Zahl enthalten – die Anzahl der Ziffern in der Dezimalschreibweise von N. Beispiel: Eingabedaten Ausgabedaten 54321 5 123 3 Code: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner( System.in ); Ganzzahl a = 0; int k = in.nextInt; während (a > 0) { a = a / 10; k++; } } } Was muss k zugewiesen werden, damit der Code funktioniert? Das Problem ist, dass beim Überprüfen des Codes auf der Website (von wo ich die Aufgaben bekomme) die Nummer 69853247 die Überprüfung nicht besteht, auf die die Antwort 8 lauten sollte.
Antworten:
Graf Planar
java.util.Scanner importieren; public class Main { public static void main(String[] args) {Scanner sc = new Scanner(System.in); int a = sc.nextInt(), k = 0; während (a > 0) { ein / = 10; k++; } System.out.print(k); } }
Leonid
und wenn a.tostring und die länge nehmen?
Alexander
k muss die Länge der Nummer enthalten, nicht die eingegebene Nummer selbst k muss gedruckt werden