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

ООП Подскажите пожалуйста как заполнить коллекцию другого класса используя scaner с консоли

11.11.2017, 02:07. Показов 4066. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Натолкнулся на проблему как правильно заполнить коллекцию ниже полный код главного класса и home1automobiliklass
не могу понять как вводить параметры используя scaner через консоль ,
из файла знаю как делать а через сканер запутался
дело в том что коллекция тут безразмерная тут я понимаю например можно сделать вводить пока while (!str.isEmpty())
строка не будет пустой , но странно при вводе первого параметра выводиться ошибка
какая тут будет конструкция сканера в моем случае )?
спасибо

Java
1
public home1automobiliklass (String auto, int skorost, int dvig )
вызываю его из главного класса

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ArrayList<home1automobiliklass> listSt = new ArrayList<home1automobiliklass>();
        while (!str.isEmpty()) {
        try {
            String a[] = str.trim().split(" +");
            ListSt.add(scanner.nextInt());
            home1automobiliklass tmp = new home1automobiliklass(a[0],Integer.parseInt(a[1]),Integer.parseInt(a[2]));
            
            
            
            
            
            }
            listSt.add(tmp);
            str = sc.nextLine();
Следующая задачка
Автомобиль характеризуется маркой, средней
скоростью и состоянием (стоит или движется).
Создайте класс, который хранит информацию об
автомобиле, содержит конструкторы, методы
изменяющие и возвращающие значения полей, метод
вычисляющий длительность поездки на заданное
расстояние, если автомобиль движется (если стоит –
длительность равна 0).
В главном классе приложения введите информацию о
трех автомобилях (например: Lada, 90, движется, KIA,
105, движется, Ford, 130, стоит) и определите, какой из
автомобилей быстрее проедет 240 км.


создал класс <home1automobiliklass>
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package home1automobili;
 
/**
 *
 * @author 801558
 */
public class home1automobiliklass implements Comparable<home1automobiliklass> {
    String auto;
    int skorost;
    int dvig;
 
public home1automobiliklass () {
        auto = "Lada";
        skorost = 1;
        dvig =  1;
        
}
    
 
public home1automobiliklass (String auto, int skorost, int dvig ) throws Exception { {
this.auto=auto;
    if(skorost<300)
          this.skorost=skorost;
else throw new Exception("Error skorost");
if(dvig>=0&&dvig<=1)
          this.dvig=dvig;
else throw new Exception("Введите либо 0 или 1 . 0 - если машина стоит 1 - если она движется");
      
}
}
 
 
    
public String getAuto() {
        return new String(auto);
        }
 
public void setAuto(String auto) {
        this.auto = auto;
    }
 
 public int getSkorost() {
        return skorost;
    }
public void setSkorost(int skorost)throws Exception {
        if(skorost<300)
          this.skorost=skorost;
         else
                throw new Exception("Skorost error"); 
 
}
 
 public int getDvig() {
        return dvig;
    }
 public void setDvig(int dvig)throws Exception {
        if(dvig>=0&&dvig<=1)
          this.dvig=dvig;
else throw new Exception("Введите либо 0 или 1 . 0 - если машина стоит 1 - если она движется"); 
 
}
    @Override
  public int compareTo(home1automobiliklass t) {
        return auto.compareTo(t.auto);
        
   } 
 @Override
    public String toString() {
        return "Марка машины:"+auto+"Средняя скорость:"+ skorost+"Движется или стоит:"+dvig;
 
    }
 
    
 public double getTime(double distance) {//создаем метод setSpeed ( наверное метод getTime? ) с типом принимаемых данных double из основного кода, так же он возвращает данные double
        if (dvig==1) return distance/skorost; //если mode=true то возвращаем вычисленное время(расстояние/скорость) в основной код, переменная distance это то что получили из основного кода
        else return 0;//если mode=false то возвращаем 0 в основной код
 
 }
 
  
 }
============================
Главный класс

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package home1automobili;
 
import java.util.ArrayList;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 *
 * @author 801558
 */
public class Home1automobili {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    System.out.println("Введите марку машины:");
    Scanner sc = new Scanner(System.in);
    String str;
 str = sc.nextLine();
//     System.out.println("Введите скорость машины:");
//    Integer skorost;
//    str = sc.nextLine();
//    System.out.println("Введите машина стоит или движется 0 или 1:");
//    Integer dvig;
    ArrayList<home1automobiliklass> listSt = new ArrayList<home1automobiliklass>();
        while (!str.isEmpty()) {
        try {
            String a[] = str.trim().split(" +");
            ListSt.add(scanner.nextInt());
            home1automobiliklass tmp = new home1automobiliklass(a[0],Integer.parseInt(a[1]),Integer.parseInt(a[2]));
            
            
            
            
            
            }
            listSt.add(tmp);
            str = sc.nextLine();
        } catch (Exception ex) {
            Logger.getLogger(Home1automobili.class.getName()).log(Level.SEVERE, null, ex);
        }
        }
        System.out.println(listSt);
        
        
    } 
    }
    
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.11.2017, 02:07
Ответы с готовыми решениями:

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

Подскажите, как объявить массив из другого класса?
У меня прописан массив в одном классе, а этот массив нужно использовать в форме2 для заполнения комбобоксов. На первом рисунке тот...

Подскажите, как правильно обращаться к фунциям-членам другого класса
Подскажите как правильно обращаться к фунциям-членам другого класса. 1-й класс (m_list - член класса, которую необходимо вызвать с...

5
 Аватар для worldown
189 / 177 / 111
Регистрация: 22.06.2009
Сообщений: 533
11.11.2017, 10:32
1)классы в яве именуют с Большой буквы
2)Используйте англ. названия, не "skorost\scrost и т.д.." a "speed, howFast, limits etc.."

оох что то вы намудрили с кодом.. можно например так

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package home1automobili;
 
import java.util.ArrayList;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 *
 * @author 801558
 */
public class Home1automobili {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    
    Scanner sc = new Scanner(System.in);
    String str;
 //   str = sc.nextLine();
//     System.out.println("Введите скорость машины:");
//    Integer skorost;
//    str = sc.nextLine();
//    System.out.println("Введите машина стоит или движется 0 или 1:");
//    Integer dvig;
    ArrayList<home1automobiliklass> listSt = new ArrayList<home1automobiliklass>();
      //  while (!str.isEmpty()) {
            System.out.println("Введите марку машины:");
            str = sc.nextLine();
            str += "+";
            System.out.println("Введите скорость машины:");
            str += sc.nextLine();
            str += "+";
            System.out.println("Введите машина стоит или движется 0 или 1:");
            str += sc.nextLine();
            
    //    }
        
        
    try {
 
        String a[] = str.split("\\+");
        listSt.add( new home1automobiliklass(a[0],Integer.parseInt(a[1]),Integer.parseInt(a[2])));
        } catch (Exception ex) {
            Logger.getLogger(Home1automobili.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        System.out.println(listSt);
 
}}
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package home1automobili;
 
/**
 *
 * @author 801558
 */
public class home1automobiliklass implements Comparable<home1automobiliklass> {
    String auto;
    int skorost;
    int dvig;
 
    public home1automobiliklass() {
        auto = "Lada";
        skorost = 1;
        dvig = 1;
 
    }
 
    public home1automobiliklass(String auto, int skorost, int dvig) throws Exception {
        {
            this.auto = auto;
            if (skorost < 300)
                this.skorost = skorost;
            else
                throw new Exception("Error skorost");
            if (dvig >= 0 && dvig <= 1)
                this.dvig = dvig;
            else
                throw new Exception("Введите либо 0 или 1 . 0 - если машина стоит 1 - если она движется");
 
        }
    }
 
    public String getAuto() {
        return new String(auto);
    }
 
    public void setAuto(String auto) {
        this.auto = auto;
    }
 
    public int getSkorost() {
        return skorost;
    }
 
    public void setSkorost(int skorost) throws Exception {
        if (skorost < 300)
            this.skorost = skorost;
        else
            throw new Exception("Skorost error");
 
    }
 
    public int getDvig() {
        return dvig;
    }
 
    public void setDvig(int dvig) throws Exception {
        if (dvig >= 0 && dvig <= 1)
            this.dvig = dvig;
        else
            throw new Exception("Введите либо 0 или 1 . 0 - если машина стоит 1 - если она движется");
 
    }
 
    @Override
    public int compareTo(home1automobiliklass t) {
        return auto.compareTo(t.auto);
 
    }
 
    @Override
    public String toString() {
        return "Марка машины: " + auto + " Средняя скорость: " + skorost + " Движется или стоит: " + dvig;
 
    }
 
    public double getTime(double distance) {// создаем метод setSpeed ( наверное
                                            // метод getTime? ) с типом
                                            // принимаемых данных double из
                                            // основного кода, так же он
                                            // возвращает данные double
        if (dvig == 1)
            return distance / skorost; // если mode=true то возвращаем
                                        // вычисленное
                                        // время(расстояние/скорость) в основной
                                        // код, переменная distance это то что
                                        // получили из основного кода
        else
            return 0;// если mode=false то возвращаем 0 в основной код
 
    }
 
}
1
0 / 0 / 0
Регистрация: 11.11.2017
Сообщений: 6
11.11.2017, 20:15  [ТС]
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package home1automobili;
 
import java.util.ArrayList;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 *
 * @author 801558
 */
public class Home1automobili {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    
    Scanner sc = new Scanner(System.in);
    String str;
 //   str = sc.nextLine();
//     System.out.println("Введите скорость машины:");
//    Integer skorost;
//    str = sc.nextLine();
//    System.out.println("Введите машина стоит или движется 0 или 1:");
//    Integer dvig;
    ArrayList<home1automobiliklass> listSt = new ArrayList<home1automobiliklass>();
      //  while (!str.isEmpty()) {
            System.out.println("Введите марку машины:");
            str = sc.nextLine();
            str += "+";
            System.out.println("Введите скорость машины:");
            str += sc.nextLine();
            str += "+";
            System.out.println("Введите машина стоит или движется 0 или 1:");
            str += sc.nextLine();
            
    //    }
        
        
    try {
 
        String a[] = str.split("\\+");
        listSt.add( new home1automobiliklass(a[0],Integer.parseInt(a[1]),Integer.parseInt(a[2])));
        } catch (Exception ex) {
            Logger.getLogger(Home1automobili.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        System.out.println(listSt);
 
}}
 
 System.out.println("Введите марку машины:");
            str = sc.nextLine();
            str += "+";
            System.out.println("Введите скорость машины:");
            str += sc.nextLine();
            str += "+";
            System.out.println("Введите машина стоит или движется 0 или 1:");
            str += sc.nextLine();
, у меня сложность возникла в том что бы ввести несколько машин с этими параметрами )
я нашел в примерах что можно использовать
while (!str.isEmpty()) вводить пока не будет пустой строки
но у меня почему то не работает (
и надо ли инициализировать коллекцию таким образом
потом listSt.add( new home1automobiliklass(a[0],Integer.parseInt(a[1]),Integer.parseInt(a[2])))
0
 Аватар для worldown
189 / 177 / 111
Регистрация: 22.06.2009
Сообщений: 533
11.11.2017, 21:18
Лучший ответ Сообщение было отмечено michaelskd как решение

Решение

michaelskd,
C#
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
47
48
49
50
51
52
53
54
public class Home1automobili {
 
    /**
     * @param args
     *            the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
 
        Scanner sc = new Scanner(System.in);
        String str;
        boolean flag = true;
        // str = sc.nextLine();
        // System.out.println("Введите скорость машины:");
        // Integer skorost;
        // str = sc.nextLine();
        // System.out.println("Введите машина стоит или движется 0 или 1:");
        // Integer dvig;
        ArrayList<home1automobiliklass> listSt = new ArrayList<home1automobiliklass>();
        while (flag) {
            System.out.println("Введите марку машины:");
            str = sc.nextLine();
            str += "+";
            System.out.println("Введите скорость машины:");
            str += sc.nextLine();
            str += "+";
            System.out.println("Введите машина стоит или движется 0 или 1:");
            str += sc.nextLine();
 
            try {
 
                String a[] = str.split("\\+");
                listSt.add(new home1automobiliklass(a[0], Integer.parseInt(a[1]), Integer.parseInt(a[2])));
            } catch (Exception ex) {
                Logger.getLogger(Home1automobili.class.getName()).log(Level.SEVERE, null, ex);
            }
            
            while (true) {
                System.out.println("Добавить еще авто (Y или N)?:");
                str = sc.nextLine();
                if((str.toLowerCase()).equals("y")) {
                    break;
                }  else {
                    flag = false;
                    break;
                }
            }
 
        }
        
        System.out.println(listSt);
 
    }
}
Добавлено через 11 минут
Да, вместо этого
Java
1
2
3
4
5
6
7
8
9
10
while (true) {
                System.out.println("Добавить еще авто (Y или N)?:");
                str = sc.nextLine();
                if((str.toLowerCase()).equals("y")) {
                    break;
                }  else {
                    flag = false;
                    break;
                }
            }
можно это
Java
1
2
3
4
5
6
7
8
System.out.println("Добавить еще авто (Y или N)?:");
                str = sc.nextLine();
                if((str.toLowerCase()).equals("y")) {
                    break;
                }  else {
                    flag = false;
                    break;
                }
1
0 / 0 / 0
Регистрация: 11.11.2017
Сообщений: 6
12.11.2017, 02:57  [ТС]
Спасибо ввод заработал )
дописал код , но чего то затык все равно у меня с вводом через сканер с консоли
не читаются у меня данные в массив

выполнение кода вот здесь обрывается в главном классе

Home1automobiliklass tmp = new Home1automobiliklass(a[0],a[1],a[2]);
listSt.add(tmp);


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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package home1automobili;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 
 
/**
 *
 * @author 801558
 */
public class Home1automobili {
    boolean flag = true;
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    Scanner sc = new Scanner(System.in);
        String str;
        boolean flag = true;
 
   ArrayList<Home1automobiliklass> listSt = new ArrayList<Home1automobiliklass>();
        while ( flag ) {
            System.out.println("Введите марку машины: ");
            str = sc.nextLine();
            str += "+";
            System.out.println("Введите скорость машины: ");
            str += sc.nextLine();
            str += "+";
            System.out.println("Введите машина стоит или движется 0 или 1: ");
            str += sc.nextLine();
           String a[] = str.split("\\+");
 Home1automobiliklass tmp = new Home1automobiliklass(a[0],a[1],a[2]);
listSt.add(tmp);
 while (true) {
                System.out.println("Добавить еще авто (Y или N)?:");
                str = sc.nextLine();
                if((str.toLowerCase()).equals("y")) {
                    break;
                }  else {
                    flag = false;
                    break;
                }
            }
             }
        Collections.sort(listSt);
        System.out.println(listSt);
    double min_time = 999999;//создаем переменную min_time минимальная время
        int min=0;//создаем переменную в которую сохраним индекс(порядковый номер) массива минимального времени
        for (int i = 0; i < listSt.size(); i++) {//перебираем все значения массива listSt
            if (listSt.get(i).getTime(240) < min_time) {//сравниваем время каждой машины на расстояние 240км
                min = i;//запоминаем индекс минимального времени
                min_time=listSt.get(i).getTime(240);//запоминаем время машины, чтоб потом его сравнить со след. машиной
            }
        }
        System.out.println("Быстрее проедет Марка=" + listSt.get(min).getAuto() + " Со скоростью=" + listSt.get(min).getSkorost());//выводим результат используя методы
    
    }}

в классе следующее

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package home1automobili;

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/**
 *
 * @author 801558
 */
public class Home1automobiliklass implements Comparable<Home1automobiliklass> {
    String auto;
    int skorost;
    int dvig;
 
public Home1automobiliklass () {
        auto = "Lada";
        skorost = 1;
        dvig =  1;
        
}
    
 
public Home1automobiliklass (String auto, int skorost, int dvig ) throws Exception { {
this.auto=auto;
//    if(skorost<300)
          this.skorost=skorost;
//else throw new Exception("Error skorost");
if(dvig>=0&&dvig<=1)
          this.dvig=dvig;
else throw new Exception("Введите либо 0 или 1 . 0 - если машина стоит 1 - если она движется");
      
}
}
 
 
    
public String getAuto() {
        return new String(auto);
        }
 
public void setAuto(String auto) {
        this.auto = auto;
    }
 
 public int getSkorost() {
        return skorost;
    }
public void setSkorost(int skorost)throws Exception {
        if(skorost<300)
          this.skorost=skorost;
         else
                throw new Exception("Skorost error"); 
 
}
 
 public int getDvig() {
        return dvig;
    }
 public void setDvig(int dvig)throws Exception {
        if(dvig>=0&&dvig<=1)
          this.dvig=dvig;
else throw new Exception("Введите либо 0 или 1 . 0 - если машина стоит 1 - если она движется"); 
 
}
    @Override
  public int compareTo(Home1automobiliklass t) {
        return auto.compareTo(t.auto);
        
   } 
 @Override
    public String toString() {
        return "Марка машины:"+auto+"Средняя скорость:"+ skorost+"Движется или стоит:"+dvig;
 
    }
 
    
 public double getTime(double distance) {//создаем метод getTime с типом принимаемых данных double из основного кода, так же он возвращает данные double
        if (dvig==1) return distance/skorost; //если mode=true то возвращаем вычисленное время(расстояние/скорость) в основной код, переменная distance это то что получили из основного кода
        else return 0;//если mode=false то возвращаем 0 в основной код
 
 }
 
  
 }
0
 Аватар для worldown
189 / 177 / 111
Регистрация: 22.06.2009
Сообщений: 533
12.11.2017, 10:20
Лучший ответ Сообщение было отмечено michaelskd как решение

Решение

1) В классе авто, для конструктора вы указали что тот может выкидывать Exception,
Java
1
2
3
4
//Home1automobiliklass.java
....
    public Home1automobiliklass(String auto, int skorost, int dvig) throws Exception {
....
следовательно, при инициализации объекта вы должны заключать его try catch блок

2) зачем создавать промежуточный tmp объект, если удобнее сразу инициализировать объект в коллекции..

Java
1
2
3
4
5
6
listSt.add(new Home1automobiliklass(a[0], Integer.parseInt(a[1]), Integer.parseInt(a[2])));
 
/*вместо*/
 
Home1automobiliklass tmp = new Home1automobiliklass(a[0], Integer.parseInt(a[1]), Integer.parseInt(a[2])));
listSt.add(tmp);
3) Вы забыли переконвертировать string в int, при инициализации в конструкторе..

Опять таки, код очень, очень индуисткий, пересмотрите подход к программированию, почитайте хорошую книгу, например Шилдт 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package home1automobili;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 
/**
 *
 * @author 801558
 */
public class Home1automobili {
    /**
     * @param args
     *            the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner sc = new Scanner(System.in);
        String str;
 
        ArrayList<Home1automobiliklass> listSt = new ArrayList<Home1automobiliklass>();
        while (true) {
            System.out.println("Введите марку машины: ");
            str = sc.nextLine();
            str += "+";
            System.out.println("Введите скорость машины: ");
            str += sc.nextLine();
            str += "+";
            System.out.println("Введите машина стоит или движется 0 или 1: ");
            str += sc.nextLine();
            String a[] = str.split("\\+");
            try {
                listSt.add(new Home1automobiliklass(a[0], Integer.parseInt(a[1]), Integer.parseInt(a[2])));
            } catch (Exception e) {
                // TODO: handle exception
            }
 
            System.out.println("Добавить еще авто (Y или N)?:");
            str = sc.nextLine();
            if (!(str.toLowerCase()).equals("y")) {
                break;
 
            }
        }
        Collections.sort(listSt);
        System.out.println(listSt);
        double min_time = 999999;// создаем переменную min_time минимальная
                                    // время
        int min = 0;// создаем переменную в которую сохраним
                    // индекс(порядковый
                    // номер) массива минимального времени
        for (int i = 0; i < listSt.size(); i++) {// перебираем все значения
                                                    // массива listSt
            if (listSt.get(i).getTime(240) < min_time) {// сравниваем время
                                                        // каждой машины на
                                                        // расстояние 240км
                min = i;// запоминаем индекс минимального времени
                min_time = listSt.get(i).getTime(240);// запоминаем время
                                                        // машины, чтоб
                                                        // потом
                                                        // его сравнить со
                                                        // след.
                                                        // машиной
            }
        }
        System.out.println(
                "Быстрее проедет Марка=" + listSt.get(min).getAuto() + " Со скоростью=" + listSt.get(min).getSkorost());// выводим
                                                                                                                        // результат
                                                                                                                        // используя
                                                                                                                        // методы
 
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2017, 10:20
Помогаю со студенческими работами здесь

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

Подскажите пожалуйста как заполнить весь массив структур структурой p1
Подскажите пожалуйста как заполнить весь массив структур структурой p1; { struct Univer{ char fam; char kaf; char...

Подскажите пожалуйста, как можно вывести информацию из таблицы Mysql, от одного значения до другого
Здравствуйте! У меня в базе данных будет содержаться информация, я хочу чтобы эта информация выводилась по значению id, от и до... то...

Заполнить массив объектами другого класса
доброго времени суток. возникла следующая проблема: есть у меня класс Exam: class Exam { ...

Подскажите пожалуйста как найти сумму элементов матрицы 3 на 4 используя операторы цикла
Сумма элементов матрицы


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru