Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/50: Рейтинг темы: голосов - 50, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 48

Возврат двух переменных

19.11.2013, 23:25. Показов 9362. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, есть метод в нем нужно возвратить две переменных (x1 и x2), подскажите как это реализовать

вот метод
Java
1
2
3
4
5
6
7
8
9
public double tworoots() {
       // throw new UnsupportedOperationException("Not supported yet.");
    double  d=b*b-4*a*c;
    double x1=(b*(-1)-(Math.sqrt(d)))/2*a;
    double x2=(b*(-1)+(Math.sqrt(d)))/2*a;
 
        return x1;
 
    }
умею выводить только один x1.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.11.2013, 23:25
Ответы с готовыми решениями:

Найти максимум из двух переменных
Здравствуйте! Начал изучать Java, нашёл пособие и там есть такая задача: "Объявите две целочисленных переменных, присвойте им любые...

Сравнение двух строковых переменных
При сравнении двух переменных не попадаю в условие String a1="CLASS"; String a2=Array.substring(1,(Array.indexOf("]"))); ...

Поменять местами значени двух переменных a и b
Здравствуйте. Даны две переменных с некоторыми значениями. Поменять местами значения этих переменных. a=2; b =3; Не получается...

12
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
20.11.2013, 00:02
можно сделать вот так:
1.
Java
1
double[]
2.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package ru.junior_progger.server;
 
public class Struct {
    private int a;
    private int b;
    public Struct(int a, int b){
        this.setA(a);
        this.setB(b);
    }
    public int getA() {
        return a;
    }
    public void setA(int a) {
        this.a = a;
    }
    public int getB() {
        return b;
    }
    public void setB(int b) {
        this.b = b;
    }
}
 
return new Struct(x1, x2);
1
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 48
20.11.2013, 00:07  [ТС]
Пошел тестировать ,но что то слишком завитееватый способ, может лучше массивом как-нибудь вывести
0
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
20.11.2013, 00:10
Цитата Сообщение от Flyinsky Посмотреть сообщение
может лучше массивом как-нибудь вывести
Впринципе можно, но потом, не сразу будет понятно, что за массив,и что он содержит.
Плохо, что в Java нету структур.
1
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 48
20.11.2013, 00:13  [ТС]
Цитата Сообщение от Almaz_1993 Посмотреть сообщение
Впринципе можно, но потом, не сразу будет понятно, что за массив,и что он содержит.
Плохо, что в Java нету структур.
зато там много другого полезного ),

с масивом что то типа того ?
Java
1
2
3
4
5
6
7
8
9
public double[] tworoots() {
       // throw new UnsupportedOperationException("Not supported yet.");
    
    double x1=(b*(-1)-(Math.sqrt(d)))/2*a;
    double x2=(b*(-1)+(Math.sqrt(d)))/2*a;
    double[] arr={x1,x2};
        return arr;
 
    }
0
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
20.11.2013, 00:22
Цитата Сообщение от Flyinsky Посмотреть сообщение
double[] arr={x1,x2};
* * * * return arr;
можно сразу так
Java
1
return new double[]{a, b};
1
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 48
20.11.2013, 00:42  [ТС]
Цитата Сообщение от Almaz_1993 Посмотреть сообщение
можно сразу так
Java
1
return new double[]{a, b};
при выводе вот такое мне выдал: [D@1ba3523
что это с ним?
0
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
20.11.2013, 00:44
Цитата Сообщение от Flyinsky Посмотреть сообщение
при выводе вот такое мне выдал: [D@1ba3523
Это hash значение объекта массива, а как вы его выводите?
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 48
20.11.2013, 00:55  [ТС]
Цитата Сообщение от Almaz_1993 Посмотреть сообщение
Это hash значение объекта массива, а как вы его выводите?
Через экземпляр класса
Variants x = new Variants(s.a,s.b,s.c);

потом вывожу
System.out.println("Первый корень равен " + x.tworoots());
0
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
20.11.2013, 00:56
Цитата Сообщение от Flyinsky Посмотреть сообщение
потом вывожу
System.out.println("Первый корень равен " + x.tworoots());
Неправильно, можете весь код предоставить?
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 48
20.11.2013, 01:06  [ТС]
Java
1
2
3
4
5
6
public static void main(String[] args) {
        // TODO code application logic here
  SquareExextion s =new SquareExextion();
  s.vvod();
  Variants x = new Variants(s.a,s.b,s.c);
System.out.println("Первый корень равен " + x.tworoots());
Тут вводят данные
Java
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
public class SquareExextion {
 
        double a;
        double b;
        double c;
 
     public void vvod(){
 
    System.out.println("Пожалуйста введите переменную а");
    Scanner s = new Scanner(System.in);
    String aa = s.nextLine();
    a=Double.parseDouble(aa);
 
    System.out.println("Пожалуйста введите переменную b");
    Scanner s1 = new Scanner(System.in);
    String bb = s1.nextLine();
    b=Double.parseDouble(bb);
 
    System.out.println("Пожалуйста введите переменную c");
    Scanner s2 = new Scanner(System.in);
    String cc = s2.nextLine();
    c=Double.parseDouble(cc);
    }
 
 
}
Здесь обработка

Java
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
public abstract class Solution {
 
        public abstract double[] tworoots();
        public abstract double oneroot();
//        public abstract double height();
 
}
class Variants extends Solution{
    double a;
    double b;
    double c;
    double  d=b*b-4*a*c;
    public Variants(double a,double b,double c)
            {
    this.a=a;
    this.b=b;
    this.c=c;
    }
 
 
    public double[] tworoots() {
       // throw new UnsupportedOperationException("Not supported yet.");
    
    double x1=(b*(-1)-(Math.sqrt(d)))/2*a;
    double x2=(b*(-1)+(Math.sqrt(d)))/2*a;
 
        return new double[]{x1,x2};
 
    }
 public  double oneroot(){
 
     double x = -(b/2*a);
      return x;
 
 
 }
    }
0
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
20.11.2013, 02:25
Java
1
2
3
4
5
double[] result =  x.tworoots();
if(result.length == 2){
System.out.println("Первый корень равен " + result[0]);
System.out.println("Второй корень равен " + result[1]);
}
Добавлено через 24 минуты
Цитата Сообщение от Flyinsky Посмотреть сообщение
Scanner s = new Scanner(System.in);
Цитата Сообщение от Flyinsky Посмотреть сообщение
Scanner s1 = new Scanner(System.in);
Цитата Сообщение от Flyinsky Посмотреть сообщение
Scanner s2 = new Scanner(System.in);
Что Вам мешает в 2 и 3 случаях использовать s ?
1
KeM6Pug}I{a
49 / 49 / 1
Регистрация: 23.08.2013
Сообщений: 202
20.11.2013, 19:16
Цитата Сообщение от Almaz_1993 Посмотреть сообщение
Плохо, что в Java нету структур.
Интересно а чем структура отличается от класса?

По сабжу вот вам:
Java
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
public class DWrapper<T,E> 
{
    public DWrapper(T first,E second)
    {
        this.first = first;
        this.second = second;
    }
 
    public static void main(String[] args) 
    {
        DWrapper<Double, Integer> wr = new DWrapper<>(22.0, 1);
        System.out.println(wr.getFirst() + " " + wr.getSecond());
    }
    
    public T getFirst()
    {
        return first;
    }
    
    public E getSecond()
    {
        return second;
    }
 
    private T first;
    private E second;
    
}
Удобство такой конструкции что мы легко можем создать Обертку с тремя возвращаемыми значениями:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class TWrapper<A,B,C> extends DWrapper<A, B>
{
 
    public TWrapper(A first, B second,C third) 
    {
        super(first, second);
        this.third = third;
    }
    
    public C getThird()
    {
        return third;
    }
    
    private C third;
    
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2013, 19:16
Помогаю со студенческими работами здесь

Как поменять значения двух переменных используя метод?
Здравствуйте! Работая с указателями в С++ наткнулся на возможность поменять местами значения двух переменных при помощи функции void...

Сравнение двух переменных типа String, одна из которых с консоли
Викторина. На моем пк работает как нужно, пользуюсь Intellij IDEA. Однако на другом пк возникают проблемы с условием, всегда ложь, там...

Разработка класса для представления многочлена от двух переменных на основе связанного списка
Разработка класса для представления многочлена от двух переменных на основе связанного списка. Операции: сложение многочленов, умножение...

Написать программу, которая меняет значения двух переменных(swap) без ввода третьей переменной
Написать программу, которая меняет значения двух переменных(swap) без ввода третьей переменной.

Возврат нескольких переменных в return
Доброго времени суток, у меня такая проблема : в Form9 написал public int GiveO() {try {int a, b; a =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru