2015-07-21 4 views
-1

У меня есть функция java, где мне нужны кратные числа из 2 чисел 3 и 5. Я выполняю эту функцию. но Dont очень чистыйкратные 2 числа

for(int i = 1; i <= 100; i++){ 
    if (i % 3 == 0 && i % 5 == 0) { 
     System.out.println("im multiple of 3 and 5"); 
    } 
    else if (i % 3 == 0) { 
     System.out.println("im multiple of 3"); 
    } 
    else if (i % 5 == 0) { 
     System.out.println("im multiple of 5"); 
    } 
    else{ 
     System.out.println(" i dont multiple"); 
    } 
} 

, как я должен сделать для кода более четкого

+2

Действительно? Вы спрашиваете о совете о явном fizzbuzz? Тем не менее, также неясно, что именно вы просите нас о помощи? – neminem

+0

ну, я просто делаю какие-либо упражнения, и я читаю про очень, если и еще вложенные, не является чистым кодом, просто запомните сейчас и захотите посмотреть, как лучшая форма сделать код более чистым, я знаю, что есть слово в коде рефакторинга –

+1

Это также оффтопно, если код работает. Это должно быть очищено и перенесено в Code Review. – Carcigenicate

ответ

0

Это одна классическая проблема FizzBuzz. Ниже приведен один из способов написать аккуратный код для него. Вы можете изменить то же самое, чтобы соответствовать заявлению о проблеме.

public class Fizzbuzz { 
    public static void main(String[] args) { 
     for (int i = 1; i <= 100; i++) { 
      String output = ""; 
      output += (i % 3) == 0 ? "Fizz" : ""; 
      output += (i % 5) == 0 ? "Buzz" : ""; 
      System.out.println(output.isEmpty() ? i : output); 
     } 
    } 
} 

Надеюсь, что это поможет.

+0

приятно, что вы более понятны, чем мои :) –

+0

рад, что я мог бы помочь. :) – digidude

0

Вы можете рефакторинг кода (методы экстракта) .Ил вы можете воспользоваться из объектно-ориентированного программирования .your кода просто вы не можете воспользоваться помощью дизайна шаблона проектирования.

+0

ok, я просто читал о очень, если - иначе вложен, не делал хорошей практики, просто хотел получить хорошие практики :) –

0
String mul2="",mul3="",mulof3and5=""; 
for(int i = 1; i <= 100; i++){ 
mul2+=i*2; 
mul3+=i*3; 
mulof3and5+=i*6; 
} 
System.out.println(mul2); 
System.out.println(mul3); 
System.out.println(mulof3and5); 
+0

был, но я сделал это, просто было интересно, как сделать его более чистым, потому что обычно я использую очень, если еще вложенные –

+0

Учитывая долгосрочные затраты на производительность «если ...», лучше избегать его, когда это возможно. –

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