2017-02-07 20 views
0

Если я хотел ввести 10 чисел, и после каждого номера он отображает квадратный корень, как бы это сделать, используя цикл for?как вывести ответ после каждого ввода с помощью цикла?

int number; 
System.out.print("Enter a number: "); 
num = input.nextInt(); 
for (count = 0; count <= 10; count++) 
{ 
    System.out.println("The Square of Number is : "+(num*num)); 
    System.out.println("The Cube of Number is : "+(num*num*num)); 

Я пробовал этот код. Однако он отображает 1 вход 10 раз. Как я могу отображать его после каждого ввода?

+5

'Num = input.nextInt();' переместить его в 'for' –

ответ

2

Подобно тому, что другие сказали, вы только получаете вход один раз, а затем распечатать вывод 10 раз. input.nextInt() должен быть перемещен внутри цикла for.

Однако, что-то, о чем не было сказано, заключается в том, что вы не потребляете предел новой линии. (Предполагая, что вы используете консоль, которая, как вам кажется). Когда пользователь вводит текст, нажав кнопку ввода, в конце ввода находится разделитель новой строки. Вы потребляете только количество, но не новую строку.

Примером этого может быть найден here.

1

Переместить num = input.nextInt() внутри for loop, как @Pavneet Singh сказал. Если вы хотите, чтобы отобразить все 10 после того, как они были введены, используйте int[] с длиной 10, как это:

int[] numbers = new int[10]; 
1

Если вы хотите вывести квадратный корень после ввода номера, просто положить num = input.nextInt(); внутри для цикла, как уже упоминалось.

Однако, если вы хотите, чтобы вводить 10 цифр, а затем выводить квадраты любого числа, это было бы очень хорошее решение:

int[] numbers = new int[10]; 
for(int i = 0; i < numbers.length; i++) numbers[i] = input.nextInt(); 
for(int tempInt : numbers) System.out.println(Math.pow(tempInt, 2));