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

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

19.11.2013, 23:25. Показов 9395. Ответов 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
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru