Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Java] Ввод данных пользователем 
V
    Опции темы
Вероника
Дата 4.10.2009, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



пользователю необходимо ввести общее количество дождя за каждый месяц, например, 1. месяц пользователь вводит число, 2. месяц, пользователь вводит число итд. после введения 12ого месяца, программа выводит средний дневной обьем дождя за год и потом, программа у пользоватeля спрашивает, за какой месяц он хотел бы увидет среднюю дневную температуру, пользователь вводит число месяца и получает среднюю темпереатуру за выбранный месяц.

Помогите, пожалуйста.. :(

Код

import java.util.*;

public class Rainfall {
    Scanner in=new Scanner(System.in);    
    public void initRain(double rain[][]) {
        for (int month = 1; month < rain.length; month++)
            for (int day = 1; day < rain[month].length; day++)
                rain[month][day] = Math.random() * 2.0;
    } 
    public double avgDailyRain(double rain[][]) {
        double total = 0;
        for (int month = 1; month < rain.length; month++)
            for (int day = 1; day < rain[month].length; day++)
                total += rain[month][day];
        return total/365;
    } 
    public double avgRainForMonth(double monthRain[], int nDays) {
        double total = 0;
        for (int day = 1; day < monthRain.length; day++)
            total = total + monthRain[day];
        return total/nDays;
    }
    public static void main(String args[]) {
        double rainfall[][] = new double[13][32];

        Rainfall data = new Rainfall();
        data.initRain(rainfall);
        System.out.println("average daily rainfall is " +  data.avgDailyRain(rainfall));
        System.out.println("average daily rainfall for May is " +  data.avgRainForMonth(rainfall[5],31));
    } 
}


Это сообщение отредактировал(а) Вероника - 5.10.2009, 21:11
PM MAIL   Вверх
Вероника
Дата 6.10.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



как сделать, что бы можно было вводит обьем дождя в каждом месяце и потом выводит обьем за какой то месяц? как правильно изменить 
Код

rain[month][day] = Math.random() * 2.0;

, что бы не рандомно программа брала, а то что пользователь ввел??
PM MAIL   Вверх
ИванМ
Дата 6.10.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: 13
Всего: 23



Например, так:
Код

rain[month][day] = in.nextDouble();


Это сообщение отредактировал(а) ИванМ - 6.10.2009, 18:28
PM MAIL   Вверх
Вероника
Дата 6.10.2009, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



ИванМ, а как это совместить с вводом пользователя? помогите, пожалуйста :(
PM MAIL   Вверх
Dancer
Дата 6.10.2009, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 4
Всего: 37



Код

import java.io.Console;
......
double d = readNumber("VVedite chislo:");
......

public static double readNumber(String promt) {
    boolean isNumberRead = false;
    double ret = Double.NaN;

    do {
        String s = console.readLine(promt);
        try {
            i = Double.parseDouble(s);
            isNumberRead = true;
        } catch(NumberFormatException e) {
            console.printf("'%s' is not a valid number%n", s);
        }
    } while(!isNumberRead);

    return ret;
}



--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
ИванМ
Дата 6.10.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: 13
Всего: 23



Цитата(Вероника @  6.10.2009,  18:33 Найти цитируемый пост)
как это совместить с вводом пользователя

ну вообще то это и есть ввод пользователя:
nextDouble() - это метод класса Scanner, который запрашивает ввод числа типа double
перед вводом можно естественно спросить пользователя ввести данные по такому-то то месяцу такому-то дню
PM MAIL   Вверх
Вероника
Дата 6.10.2009, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



Dancer, в эклипсе import java.io.Console; не работает к сожалению :(

Добавлено через 1 минуту и 41 секунду
ИванМ, но если я вставляю этот сканнер, то у меня средний обьем дождя не считается правильно, потому что выдает 0, тогда как должно быть число :(
PM MAIL   Вверх
Вероника
Дата 6.10.2009, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



я разобралась, где что надо было писать и что убирать, всем спасибо за помощь, у меня получилось smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.