Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Aer_rus
1 / 1 / 2
Регистрация: 13.10.2013
Сообщений: 91
1

Сделать таблицу n строк: адрес, кол-во проживающих, кол-во комнат и кол-во метров в каждой комнате

21.09.2014, 15:04. Просмотров 461. Ответов 2
Метки нет (Все метки)

В задании нужно сделать таблицу n строк. Адрес, кол-во проживающих, кол-во комнат и кол-во метров в каждой комнате.
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
public class second {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try
        {
            StringBuffer str = new StringBuffer();
            char ch;
            int n;
            System.out.println("Введите количество строк в таблице");
            while ((ch=(char)System.in.read())!='\n')
                str.append(ch);
            n=Integer.parseInt(str.toString());
            //Определение массива ссылок для n строк для адресов
            String adres[]=new String [n];//Адрес
            String people[]=new String[n];//Количество людей живущих по этому адресу
            String room[]=new String[n];//Количество комнат
            String metres[];//Количество метров в каждой комнате
             for (int i = 0; i < n; i++) // Цикл ввода данных в таблицу
             {
                 System.out.println("Введите имя адреса:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 adres[i] = new String(str.toString());//Выделение памяти для строки и запонимание адреса в массиве adres
                 System.out.println("Введети количество проживающих по данному адресу:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 people[i] = new String(str.toString());
                 System.out.println("Введите количество комнат:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 room[i] = new String(str.toString());
                 
                 
             }
            
            
        }
 
    }
 
}
Как сделать, чтобы в таблице был выведен метраж каждой комнаты?
Например, если 2 комнаты, то для каждой должно быть кол-во метров.\
Помогите пожалуйста доработать программу

Добавлено через 2 часа 54 минуты
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
package w;
import java.io.IOException;// подключение обработки исключительных ситуации при вводе данных
public class hi {
 
    public static void main(String[] args) {
        hi hi = new hi();
    
        // TODO Auto-generated method stub
        try{
            StringBuffer str = new StringBuffer();
            char ch;
            int n=2;
            System.out.println("Введите количество строк в таблице");
            while ((ch=(char)System.in.read())!='\n')
                str.append(ch);
            //Определение массива ссылок для n строк для адресов
            String adres[]=new String [n];//Адрес
            String people[]=new String[n];//Количество людей живущих по этому адресу
            String room[]=new String[n];//Количество комнат
            String metres[]=new String[n];//Количество метров в каждой комнате
            String x = new String();
             for (int i = 0; i < n; i++) // Цикл ввода данных в таблицу
             {
                 System.out.println("Введите имя адреса:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 adres[i] = new String(str.toString());//Выделение памяти для строки и запонимание адреса в массиве adres
                 System.out.println("Введети количество проживающих по данному адресу:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 people[i] = new String(str.toString());
                 System.out.println("Введите количество комнат:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                room[i]= new String(str.toString());
                System.out.println("Введите кол-во метров в каждой комнате");
                str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 metres[i]= new String(str.toString());
                 
             }
              System.out.println("Ваша исходная таблица: "); // приглашение ввода
              for(int i=0;i<n;i++) // цикл вывода таблицы
              {
                  System.out.println(adres[i]+"  "+people[i]+"  "+room[i]+"  "+metres[i]); // печать таблицы
              }
              /*
              str = new StringBuffer(); // определение буфера ввода (обнуление)
              while ((ch = (char) System.in.read()) != '\n') // цикл ввода посимвольно до символа окончания строки
                  str.append(ch); // добавление в строку str очередного введённого символа
              x = new String(str.toString()); // запись в переменную строки str с преобразованием
              for(int i=0;i<n;i++) // цикл сравнения жанров
              {
                  if(metres[i].equals(x)) // условие равности строк
                      System.out.println(adres[i]+"  "+people[i]+"  "+room[i]+"  "+metres[i]); // печать таблицы
              }*/
             }
 
        catch (IOException e) // прекращение обработки исключительных ситуаций при вводе данных
        {
          System.out.println(e.toString());
        }}}
Немного доделал, помогите пожалуйста сделать так чтобы для каждой комнаты было свое кол-во метров
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2014, 15:04
Ответы с готовыми решениями:

Страна, кол-во регионов, кол-во жителей, площадь
ввести кол-во стран, количество районов в этой стране, количество жителей в регионе, площадь...

Процедуры и функции: Оформить процедурой вычисление кол-ва отрицательных и кол-ва положительных элементов каждой матрицы
Нужно формить процедурой вычисление кол-ва отрицательных и кол-ва положительных элементов каждой...

Как в макросе определить кол-во строк и кол-во столбцов таблицы?
Подскажите, плз, как в макросе определить кол-во строк и кол-во столбцов таблицы.

В матрице переставиь 2 средних строки,если кол-во строк четное, первую со средней, если кол-во строк нечетное
Дан массив размером n*n, элементы которого-целые числа. Поменять местами 2 средних строки,если...

Запрос к БД Acces для расчета кол-ва лет и кол-ва дней до ДР
Добрый день! Очень нужна помощь! Есть БД в Access: простенькая табличка: ФИО, День рождения В...

2
1ds
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
21.09.2014, 19:00 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
25
26
public static void main(String... args){
        Appartaments appartaments[] = new Appartaments[2];
        appartaments[0] = new Appartaments("Советская", 2, 1, 18);
        appartaments[1] = new Appartaments("Чапаева", 3, 2, 18, 20);
 
        for(int i = 0; i < appartaments.length; i++){
            if(appartaments[i].getCountappartaments() == 1){
                System.out.println("Название улицы: " + appartaments[i].getStreet());
                System.out.println("Количество проживающих: " + appartaments[i].getCountpersons());
                System.out.println("Количество комнат: " + appartaments[i].getCountappartaments());
                System.out.println("Площадь: " + appartaments[i].getAppmeters());
                System.out.println(" ");
            }
            
            if(appartaments[i].getCountappartaments() == 2){
                System.out.println("Название улицы: " + appartaments[i].getStreet());
                System.out.println("Количество проживающих: " + appartaments[i].getCountpersons());
                System.out.println("Количество комнат: " + appartaments[i].getCountappartaments());
                System.out.println("Площадь одной комнаты: " + appartaments[i].getOnemeters());
                System.out.println("Площадь второй комнаты: " + appartaments[i].getTwometers());
                System.out.println("Общая площадь комнат: " + (appartaments[i].getOnemeters() + appartaments[i].getTwometers()));
                System.out.println("");
            }
        }
 
    }

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
public class Appartaments {
    private String  street;
    private int countpersons;
    private int countappartaments;
    private int appmeters;
    
    public Appartaments(String street, int countpersons, int countappartaments, int appmeters) {
        this.street = street;
        this.countappartaments = countappartaments;
        this.countpersons = countpersons;
        this.appmeters = appmeters;
    }
    
    private int onemeters;
    private int twometers;
    
    public Appartaments(String street, int countpersons, int countappartaments, int onemeters, int twometers) {
        this.street = street;
        this.countpersons = countpersons;
        this.countappartaments = countappartaments;
        this.onemeters = onemeters;
        this.twometers = twometers;
    }
    
    public int getOnemeters() {
        return onemeters;
    }
    
    public int getTwometers() {
        return twometers;
    }
    
    
    public String getStreet() {
        return street;
    }
    
    public int getAppmeters() {
        return appmeters;
    }
    
    public int getCountappartaments() {
        return countappartaments;
    }
    
    public int getCountpersons() {
        return countpersons;
    }
 
}
Вывод:
Название улицы: Советская
Количество проживающих: 2
Количество комнат: 1
Площадь: 18

Название улицы: Чапаева
Количество проживающих: 3
Количество комнат: 2
Площадь одной комнаты: 18
Площадь второй комнаты: 20
Общая площадь комнат: 38
1
Aer_rus
1 / 1 / 2
Регистрация: 13.10.2013
Сообщений: 91
21.09.2014, 23:28  [ТС] 3
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
/*
 * 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 javaapplication1;
import java.io.IOException;// подключение обработки исключительных ситуации при вводе данных
/**
 *
 * @author ASUS
 */
public class JavaApplication1 {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
   try{
            StringBuffer str = new StringBuffer();
            char ch;
            int n=2;
                        int SR=12;
            System.out.println("Введите количество строк в таблице");
            while ((ch=(char)System.in.read())!='\n')
                str.append(ch);
            n=Integer.parseInt(str.toString());
            //Определение массива ссылок для n строк для адресов
            String adres[]=new String [n];//Адрес
            int people[]=new int[n];//Количество людей живущих по этому адресу
            int room[]=new int[n];//Количество комнат
            int metres[]=new int[n];//Количество метров в каждой комнате
             for (int i = 0; i < n; i++) // Цикл ввода данных в таблицу
             {
                         int S=0;
                 System.out.println("Введите имя адреса:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 adres[i] = new String(str.toString());//Выделение памяти для строки и запонимание адреса в массиве adres
                 System.out.println("Введете количество проживающих по данному адресу:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 people[i] = Integer.parseInt(str.toString());
                         int p = people[i];
                 System.out.println("Введите количество комнат:");
                 str = new StringBuffer();
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                room[i]=Integer.parseInt(str.toString());
                        int m=room[i];
                        for(int g=0;g<m;g++)
                        {
                            str = new StringBuffer();
                System.out.println("Введите кол-во метров  комнате №"+(g+1));
                 while ((ch = (char) System.in.read()) != '\n') // Цикл ввода посимвольно до символа окончания строки
                     str.append(ch);
                 metres[i]= Integer.parseInt(str.toString());
                         S=S+metres[i];
                        }
                 System.out.println("Общее кол-во метров:"+S);
                         System.out.println("Среднее кол-во метров на каждого жильца:"+S/p);
                         if(SR<(S/p))
                             System.out.println("Улучшение жилищных условий не требуется");
                         else System.out.println("Жильцы нуждаются в улучшении жилищных условий");
                         
                        
             }
 
                     System.out.println("Ваша исходная таблица: "); // приглашение ввода
              System.out.println(" Адрес        Кол-во жильцов       Кол-во комнат         кол-во метров в каждой комнате ");
              for(int i=0;i<n;i++) // цикл вывода таблицы
              
                  System.out.println(adres[i]+"                   "+people[i]+"                 "+room[i]+"                           "+metres[i]+ "  "); // печать таблицы
             
              
                      }
              
 
        catch (IOException e) // прекращение обработки исключительных ситуаций при вводе данных
        {
          System.out.println(e.toString());
        }}}
Доделал программу, можете подсказать почему в таблице в графе кол-во метров выводится только последнее введенное значение, а не все. Подскажите как исправить ошибку.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2014, 23:28

Нужно подсчитать кол-во опер и общее кол-во оборудования в запросе
Собственно прилагаю скрин есть 3 таблицы нужно создать 2 столбца в запросе: в первом из 3 таблицы...

Посчитать кол-во отрицательных и кол-во положительных элементов массива. Вывести массив на экран
Дан массив 5x5, заполнен случайными числами от -10 до 10. Посчитать кол-во отрицательных и кол-во...

Как узнать кол-во заполненных элементов в массиве, чья длина больше чем кол-во?
#include &lt;iostream&gt; using namespace std; int main() { char N; cin &gt;&gt; N; system(&quot;pause&quot;);...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.