2016-11-20 7 views
1

У меня проблема с задачей. Я должен преобразовать следующий цикл doWhile в цикл While, так что результат обоих циклов одинаковый? Как вы можете видеть, тип Integer находится только в цикле doWhile. Но в чем разница между типом int. Как решить эту задачу?Преобразование doWhile в цикле While

doWhile петля:

public Integer a_doWhile(int x){ 
    int i = 0; 
    Integer result; 
    do { 
     result = ++i*i; 
    } while (result < x); 
    return result; 
} 

Мое решение:

public Integer a_while(int x){ 
    int i=0; 
    int result; 
    while(result < x){ 
     result = ++i*i; 
    return result; 
    } 
} 

Но мое решение является неправильным. Он должен делать это с помощью этого «Целого», может ли кто-нибудь помочь мне, пожалуйста? Спасибо :)

ответ

0

int и Integer - разные представления одной и той же вещи. Int является примитивным, а Integer - объектом. Это обсуждается здесь What is the difference between an int and an Integer in Java and C#?

Вы можете конвертировать вас dowhile в то время как этот

public Integer a_While(int x){ 
    int i = 0; 
    Integer result = ++i*i; 
    while (result < x) { 
     result = ++i*i; 
    } 
    return result; 
+0

Работал как шарм. Большое вам спасибо! –

+0

не забудьте отметить это как ответ;) – Leadfoot

Смежные вопросы