Task. Were given three real numbers [latex]x[/latex], [latex]y[/latex], [latex]z[/latex]. Find [latex]\max (x, y, z)[/latex].
Tests
Input | Output |
---|---|
4 3 8 | 8 |
0 179 45 | 179 |
Solution
With if-statement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import java.util.*; class Main{ public static void main (String[] args) throws java.lang.Exception { Scanner s = new Scanner(System.in); while(s.hasNextInt()){ int x = s.nextInt(); int y = s.nextInt(); int z = s.nextInt(); if(x > y && x > z){ System.out.println("Maximum number is: " + x); } else if(y > z && y > x){ System.out.println("Maximum number is: " + y); } else{ System.out.println("Maximum number is: " + z); } //by using Math method from Java library int max =Math.max(Math.max(x,y),z); System.out.println("Max number is: " + max); } s.close(); } } |
Code refactoring
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<pre class="lang:java decode:true ">import java.util.*; class Main{ public static void main (String[] args) throws java.lang.Exception { Scanner s = new Scanner(System.in); int x = s.nextInt(); int y = s.nextInt(); int z = s.nextInt(); //solution with Java Library method System.out.println(Math.max(Math.max(x,y),z)); //solution with code refactoring without IF statement System.out.println(x > y && x > z ? x : y > z && z > x ? y : z); s.close(); } } |
Посмотрите, пожалуйста, здесь какие есть подходы к расстановке отступов в коде программы. Нужно выбрать какой-то один и везде им пользоваться. Обычно в компании принят какой-то один стиль для всех программистов и нужно быть готовым приспосабливаться.
Расставьте отступы в первом варианте кода.
Тесты. Такие тесты называют «бедными» — они не отражают все возможные ситуации. Необходимо проверить на да-нет все ваши 6 условий.
Ok, I will take a look. Looking forward to make less such of simple mistakes.
Thank you