функция которая вычисляет минимум из трёх чисел - Страница 3 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 04.01.2014, 20:18   #21
Аватар для desolator
Пользователь

Автор темы (Топик Стартер) Re: функция которая вычисляет минимум из трёх чисел

Цитата:
Сообщение от Lihoy Посмотреть сообщение
Таким образом, если b < c, то m = b, иначе m = c, независимо от всех предыдущих операторов if.

Даже, если а минимальное, то твой вариант будет выбирать итоговый результат только между b и с.
То есть, необходимо написать после каждой проверки if - else? Либо вообще не использовать else?
desolator вне форума Ответить с цитированием
Непрочитано 04.01.2014, 21:13   #22
Аватар для Lihoy
Герой

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

Цитата:
Сообщение от desolator Посмотреть сообщение
То есть, необходимо написать после каждой проверки if - else? Либо вообще не использовать else?
Различные вариации корректных вариантов уже представлены в этой теме.

Простейший - использование условного оператора совместно с логическими.

 
if (a < b && a < c)
  m = a;
else if (b < a && b < c)
  m = b;
else
  m = c;
 
Code: Java
Updated.
К слову, можно даже немного упростить.

 
if (a < b && a < c)
  m = a;
else if (b < c)
  m = b;
else
  m = c;
 
Code: Java
Если в первом if'e результат false, значит а - не минимальное, следовательно дальнейшее сравнение с ним не имеет смысла.
Lihoy вне форума Отправить сообщение для Lihoy с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 19.09.2014, 18:48   #23
Новичок

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

Цитата:
Сообщение от desolator Посмотреть сообщение
http://javarush.ru/course.html не знаю какая магия там происходит но как то судит, в моем случае вердикт - ответ не верен.
public static int min(int a, int b, int c, int d)
{
int m4=0;
if (a<b)
m4=a;
else
{
m4=b;
}

if (m4>c)
m4=c;

if (m4>d)
m4=d;


return m4;
}
Marat123 вне форума Ответить с цитированием
Непрочитано 19.09.2014, 19:22   #24
Аватар для Mifesto
Пользователь

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

    public static int min(int a, int b, int c, int d)
    {
        if(a == b && a == c && a == d)
            return 0;
 
        int min = a < b ? a : b;
 
        min = min < c ? min : c;
        min = min < d ? min : d;
 
        return min;
    }
Code: Java
Mifesto вне форума Отправить сообщение для Mifesto с помощью ICQ Ответить с цитированием
Непрочитано 19.09.2014, 23:13   #25
Аватар для L2CCCP

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

А не легче ли создать метод вычисления минимального и максимального числа в массиве?
можно обрабатывать сколько угодно чисел и всегда получим верный ответ.

 
public class ZGMinMaxTest
{
	public static void main(String[] args)
	{
		final int[] numbers = new int[] { 19, 52, 36, 74, 524, 16, 57, 238, 924 };
 
		int minimal = Integer.MAX_VALUE;
		int maximal = Integer.MIN_VALUE;
		for(int number = 0; number < numbers.length; ++number)
		{
			int current = numbers[number];
			if(current < minimal)
				minimal = current;
			else if(current > maximal)
				maximal = current;
		}
 
		System.out.println("Minimal is -> " + minimal);
		System.out.println("Maximal is -> " + maximal);
	}
}
 
Code: Java
 
Result:
Minimal is -> 16
Maximal is -> 924
 
Code: HTML
или используйте класс математики

 
public class ZGMathTest
{
	public static void main(String[] args)
	{
		final int[] numbers = new int[] { 19, 52, 36, 74, 524, 16, 57, 238, 924 };
 
		int minimal = Integer.MAX_VALUE;
		int maximal = Integer.MIN_VALUE;
		for(int number = 0; number < numbers.length; ++number)
		{
			int current = numbers[number];
			minimal = Math.min(minimal, current);
			maximal = Math.max(maximal, current);
		}
 
		System.out.println("Minimal is -> " + minimal);
		System.out.println("Maximal is -> " + maximal);
	}
}
 
Code: Java
 
Result:
Minimal is -> 16
Maximal is -> 924
 
Code: HTML
L2CCCP вне форума Отправить сообщение для L2CCCP с помощью ICQ Отправить сообщение для L2CCCP с помощью MSN Отправить сообщение для L2CCCP с помощью Skype™ Ответить с цитированием
Непрочитано 19.09.2014, 23:52   #26
Аватар для Zubastic
ZG troll squad

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

А нахрена цикл? Загружаем все числа в список и вычисляем с помощью встроенной команды, ну на шарпе это точно можно сделать, на яве скорее всего тоже.
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 20.09.2014, 00:07   #27
Аватар для L2CCCP

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

Цитата:
Сообщение от Zubastic Посмотреть сообщение
А нахрена цикл? Загружаем все числа в список и вычисляем с помощью встроенной команды, ну на шарпе это точно можно сделать, на яве скорее всего тоже.
Можно и коллекцию использовать, без разницы на самом деле, я к тому что те примеры что писали до этого являются ограниченными по функционалу .
 
import java.util.ArrayList;
import java.util.List;
 
public class ZGCollectionMathTest
{
	public static void main(String[] args)
	{
		List<Integer> numbers = new ArrayList<Integer>();
		numbers.add(45);
		numbers.add(312);
		numbers.add(4);
		numbers.add(456);
		numbers.add(987);
		numbers.add(24);
 
		int minimal = Integer.MAX_VALUE;
		int maximal = Integer.MIN_VALUE;
		for(int number : numbers)
		{
			minimal = Math.min(minimal, number);
			maximal = Math.max(maximal, number);
		}
 
		System.out.println("Minimal is -> " + minimal);
		System.out.println("Maximal is -> " + maximal);
	}
}
 
Code: Java
 
Result:
Minimal is -> 4
Maximal is -> 987
 
Code: HTML
или отсортировать коллекцию компаратором и получить минимальный и максимальный параметр
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
 
public class ZGCollectionComparatorTest
{
	public static void main(String[] args)
	{
		List<Integer> numbers = new ArrayList<Integer>();
		numbers.add(45);
		numbers.add(312);
		numbers.add(4);
		numbers.add(456);
		numbers.add(987);
		numbers.add(24);
 
		Integer[] sorted = numbers.toArray(new Integer[numbers.size()]);;
		Arrays.sort(sorted, new Comparator<Integer>(){
			@Override
			public int compare(Integer o1, Integer o2)
			{
				return (int) (o2 - o1);
			}
		});
 
		System.out.println("Minimal is -> " + sorted[sorted.length - 1]);
		System.out.println("Maximal is -> " + sorted[0]);
	}
}
 
Code: Java
 
Result:
Minimal is -> 4
Maximal is -> 987
 
Code: HTML
Использовать можно как угодно

Последний раз редактировалось L2CCCP; 20.09.2014 в 01:09.
L2CCCP вне форума Отправить сообщение для L2CCCP с помощью ICQ Отправить сообщение для L2CCCP с помощью MSN Отправить сообщение для L2CCCP с помощью Skype™ Ответить с цитированием
Непрочитано 20.09.2014, 00:35   #28
Аватар для Zubastic
ZG troll squad

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

Цитата:
Сообщение от L2CCCP Посмотреть сообщение
 
		for(int number : numbers)
		{
			minimal = Math.min(minimal, number);
			maximal = Math.max(maximal, number);
		}
 
Code: Java
Я вот про это.
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 20.09.2014, 01:02   #29
Аватар для L2CCCP

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Я вот про это.
я уже увидел
не успел отредактить
upd:
или отсортировать коллекцию компаратором и получить минимальный и максимальный параметр

 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
 
public class ZGCollectionComparatorTest
{
	public static void main(String[] args)
	{
		List<Integer> numbers = new ArrayList<Integer>();
		numbers.add(45);
		numbers.add(312);
		numbers.add(4);
		numbers.add(456);
		numbers.add(987);
		numbers.add(24);
 
		Integer[] sorted = numbers.toArray(new Integer[numbers.size()]);;
		Arrays.sort(sorted, new Comparator<Integer>(){
			@Override
			public int compare(Integer o1, Integer o2)
			{
				return (int) (o2 - o1);
			}
		});
 
		System.out.println("Minimal is -> " + sorted[sorted.length - 1]);
		System.out.println("Maximal is -> " + sorted[0]);
	}
}
 
Code: Java
 
Result:
Minimal is -> 4
Maximal is -> 987
 
Code: HTML
L2CCCP вне форума Отправить сообщение для L2CCCP с помощью ICQ Отправить сообщение для L2CCCP с помощью MSN Отправить сообщение для L2CCCP с помощью Skype™ Ответить с цитированием
Непрочитано 20.09.2014, 01:11   #30
Аватар для n3k0nation
Antihero

По умолчанию Re: функция которая вычисляет минимум из трёх чисел

va_list inside

Код:
public int max(int...n) {
  int result = Integer.MIN_VALUE;
  for(int i : n) result = Math.max(result, i);
  return result;
}
OFMG. Зачем вам коллекции тут? Коллекции, сортировки... Наркоманы?
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
itamename-e.dat UFODriverr Lineage II 5 28.02.2021 18:17


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 09:20. Часовой пояс GMT +3.

Вверх