Другие языки программирования и технологии

Как найти найбольшую переменную в языке java?

Дано переменные a, b, c, d, e, f, g, типа int. Надо найти наибольшую переменную (их может быть несколько) и уменьшить её (или их) значение на единицу.
Александр, ваша идея понятна, но для новичка ее сложно реализовать.

import java.lang.reflect.*;
public class Test
{
int a=4;
int b=5;
int c=15;
int d=6;
int e=15;
int f=2;
int g=7;
public static void main(String[] args) throws IllegalAccessException
{

Test a = new Test();
int max = Integer.MIN_VALUE;
String name = "";

for (Field f: Test.class.getDeclaredFields())
{
if(f.getInt(a) > max)
{
name=f.getName();
max=f.getInt(a);
}
}
for (Field f: Test.class.getDeclaredFields())
{
if(f.getInt(a)==max)
{
f.setInt(a, f.getInt(a)-1);
}
}
System.out.println("После изменения: ");
for (Field f: Test.class.getDeclaredFields())
{
System.out.print(f.getName()+"=");
System.out.println(f.getInt(a));
}
}
}

Вывод программы:

a=4
b=5
c=14
d=6
e=14
f=2
g=7

PS еще есть простой вариант с тысячей if и else
Artur Wirma
Artur Wirma
1 113
Лучший ответ
Павел и Рустам.. . читайте задание внимательнее.. . поместив ПЕРЕМЕННЫЕ в свой МАССИВ и ОТСОРТИРОВАВ, сможете ли вы после этого определить который элемент массива относится к которой ПЕРЕМЕННОЙ?
Олег Бабаев
Олег Бабаев
50 818
сами перменные сравнить нельзя, они я так понял не заданы? ! Хотя я не большой знаток, скажем любитель, но если не ошибаюсь, то можно загнать эти перменные в Array 1 и Array2 и запустить функцию сравнения
Борис Лисюра
Борис Лисюра
3 921
public class Dt {
public static void main(String[] args) {
int a=0; int b=5; int c=4; int d =7; int e = 3; int f =7; int g= 7;
int [] vars={a,b,c,d,e,f,g};
int max=a;
int i;
for(i=1;i<vars.length;i++){>>max)
max=vars;}
for(i=0;i<vars.length;i++)>)
vars--;

// Следущие три строчки для проверки:
for (i=0;i<vars.length;i++)>+" ");
}

}
}
int ar[7]={a,b,c,d,e,f,g};
int max=a;
for(int i=1;i<7;i++)
if(ar>min)
max=ar;
for(i=0;i<7;i++)
if(max==ar)
ar=ar-1;