Как сравнить числа в java
Например, чтобы сравнить два числа, можно написать следующий код:
int a = 5; int b = 7; if (a b) System.out.println("a меньше b"); > else if (a > b) System.out.println("a больше b"); > else System.out.println("a равно b"); >
Также, для сравнения чисел можно использовать методы класса Double или Float в зависимости от типа чисел, например:
double a = 5.6; double b = 7.8; if (Double.compare(a, b) 0) System.out.println("a меньше b"); > else if (Double.compare(a, b) > 0) System.out.println("a больше b"); > else System.out.println("a равно b"); >
Здесь мы используем статический метод compare() класса Double для сравнения двух чисел типа double . Этот метод возвращает отрицательное число, если первый аргумент меньше второго, положительное число, если первый аргумент больше второго, и ноль, если аргументы равны.
Сравнение 3 чисел
В отделе работают 3 сотрудника, которые получают заработную плату в рублях. Требуется определить: на сколько зарплата самого высокооплачиваемого из них отличается от самого низкооплачиваемого.
Как можно написать эту задачу проще и почему у меня не вычитается максимальное значение от минимального?
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
public static void main(String[] args) { int a,b,c,min,max,raz; //raz=max-min; Scanner sc= new Scanner(System.in); a=sc.nextInt(); b=sc.nextInt(); c=sc.nextInt(); if (a>b); { if (a>c) max=a; System.out.println("Наибольшая зарплата "+a); } if (ab) { if (ac) min=a; System.out.println("Наименьшая зарплата "+a); } if (b>a); { if (b>c) max=b; System.out.println("Наибольшая зарплата "+b); } if (ba) { if (bc) min=b; System.out.println("Наименьшая зарплата "+b); } if (c>a); { if (c>b) max=b; System.out.println("Наибольшая зарплата "+c); } if (ca) { if (cb) min=b; System.out.println("Наименьшая зарплата "+c); } //System.out.println("Разница между максимальной и минимальной "+raz); }
Sooys / java-rush-04.06.03.java
Save Sooys/6bf9f304d5445824e83324740af4c808 to your computer and use it in GitHub Desktop.
Java Rush 04.06.03 // Сортировка 3 чисел
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
package com . javarush . test . level04 . lesson06 . task03 ; |
/* Сортировка трех чисел |
Ввести с клавиатуры три числа, и вывести их в порядке убывания. |
*/ |
import java . io .*; |
public class Solution |
public static void main ( String [] args ) throws Exception |
BufferedReader reader = new BufferedReader ( new InputStreamReader ( System . in )); |
String sa = reader . readLine (); |
String sb = reader . readLine (); |
String sc = reader . readLine (); |
int a = Integer . parseInt ( sa ); |
int b = Integer . parseInt ( sb ); |
int c = Integer . parseInt ( sc ); |
int max , min , mid ; |
if ( a > b && a > c ) |
max = a ; |
if ( b > c ) |
min = c ; |
mid = b ; |
> |
else |
min = b ; |
mid = c ; |
> |
> |
else if ( b > a && b > c ) |
max = b ; |
if ( a > c ) |
min = c ; |
mid = a ; |
> |
else |
min = a ; |
mid = c ; |
> |
> |
else |
max = c ; |
if ( a > b ) |
min = b ; |
mid = a ; |
> |
else |
min = a ; |
mid = b ; |
> |
> |
System . out . println ( max + » » + mid + » » + min ); |
> |
> |
4 ур.6 лекция. Сравнение 3 чисел.
Выдает ошибки: 1) Выражение синтаксически не верное.. 2) Отсутствует точка с запятой.. 3) Неизвестная ошибка компиляции. и все это в строках где объявляю метод max и min (public static int max(int a, int b)). В предыдущей задаче на «максимум из 4» все нормально компилировалось на этом этапе, а тут не пропускает. Что может влиять?
package com.javarush.task.task04.task0420; /* Сортировка трех чисел */ import java.io.*; public class Solution public static void main(String[] args) throws Exception BufferedReader s= new BufferedReader(new InputStreamReader(System.in)); int a1= Integer.parseInt(s.readLine()); int a2= Integer.parseInt(s.readLine()); int a3= Integer.parseInt(s.readLine()); if (a1== a2 && a2== a3) System.out.println(a1+" "+a1 + " "+ a1); else int max= max(a1,a2); max= max(max,a3); int min= min(a1,a2); min= min(min,a3); mid= a1+ a2+ a3- max- min; System.out.println(max+ " "+ mid+ " "+ min); > public static int max(int a, int b) if (a>= b) return a; else return b; > public static int min(int a, int b) if (a b) return a; else return b; > >