#java #integer #reverse
#java #целое число #обратное
Вопрос:
инструкции следующие: введите целое число, затем удвоите целочисленное значение, затем вызовите свой метод static void reverse ( long i ) . Метод void reverse(long i) отображает целое число в обратном порядке, заканчивающееся новой строкой.
Мне нужна помощь в изменении целого числа. Я думаю, что у меня есть остальная часть кода правильно. Но, поправьте меня, если я ошибаюсь.
import java.util.Scanner;
public class Exercise5_3M {
public static void reverse(String[] args) {
Scanner input = new Scanner(System.in);
//input an integer
int num= input.nextInt();
int result=0;
//Double the intger
while(num>0){
result= num *2;
}
System.out.print(result);
}
}
Ответ №1:
во-первых, вам нужно void reverse( long i)
вместо void reverse(String[] args)
этого во-вторых
while(num>0){
result= num *2;
}
никогда не заканчивается, потому что num никогда не меняется
Комментарии:
1. И если вы считаете, что нет причин ждать некоторое время. Это было бы просто удвоить.
2. ммм, это странно. Я пробовал это раньше — ввод обратного (длинный i), и это выдало мне ошибку компиляции. Возможно, я что-то изменил и не осознал этого. Спасибо! Сейчас попытаюсь разобраться со второй частью. Разве я не говорю в своем коде, что число больше нуля, и результат будет равен числу, умноженному на два. Как это никогда не заканчивается?
3. @user972077
while
Тело цикла выполняется до тех пор, пока условие больше не станет истинным (или, другими словами, оно выполняется, пока условие истинно — отсюдаwhile
цикл). Если значение num никогда не изменяется, это условие всегда будет истинным для любого ввода, большего 0, поэтому тело будет просто выполняться снова и снова. Это то, что называется бесконечным циклом.
Ответ №2:
Ваш метод должен называться «main», если вы хотите выполнить его при запуске. Во-вторых, вы создали бесконечный цикл с вашим while, когда sb вводит положительное число. Отрицательное значение всегда возвращает 0. В-третьих, у вас нет метода с именем reverse (long i). Четвертая проверка границ. Разрешены только положительные числа или также отрицательные?
Для подсказки: вы можете изменить его несколькими способами. Преобразуйте ваше число в строку или массив символов и переверните его. Или вы хотите взглянуть на оператор mod «%».
Комментарии:
1. Я понимаю концепции, но когда я пытаюсь их записать, я постоянно получаю ошибку компиляции. Я понимаю java — концептуально — но так сложно на самом деле поместить это в код!