Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Gastello
29 / 15 / 0
Регистрация: 11.04.2010
Сообщений: 391
1

Программа (класс), которая выводит на экран все целые двузначные числа

21.08.2013, 23:09. Просмотров 2586. Ответов 11
Метки нет (Все метки)

Всем привет. Простите сразу, может для кого-то глупый вопрос, но есть такая задача:

Напиши программу (класс), которая выводит на экран все целые двузначные числа (и отрицательные, и положительные) – причем дважды: сначала в возрастающем порядке, а затем в убывающем.

Суть задачи вроде понял. Вывести числа от 10 до 99, потом обратно от 99 до 10, потом от -99 до -10 и от -10 до -99. Суть в том, что реально ли это сделать одним циклом? Просто я даже не знаю, как сделать от 10 до 99 и обратно от 99 до 10. Если кому не сложно, помогите разобраться. Кода пока нет, так как сижу и думаю, как лучше сделать. Если кому не трудно, помогите разобраться. Буду очень благодарен.

P.S Это задача чисто для себя, для развития логики.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2013, 23:09
Ответы с готовыми решениями:

Программа, которая выводит на экран числа от 1 до 100
Напишите программу которая выводит на жкран числа от 1 до 100. При этом вместо...

Даны целые числа A и B (A < B). Вывести все целые числа от A до B включительно
Здравствуйте коллеги! Помогите написать код на JAVA: Даны целые числа A и B...

Найти все двузначные числа, сумма цифр которых не меняется при умножении числа
Здравствуйте, уважаемые. Помогите решить задачку. На java не нашел примера( ...

Дан одномерный массив целых чисел произвольной размерности. Разработать программу, которая выводит сначала все отрицательные числа этой последовательн
Помогите пожалуйста! Дан одномерный массив целых чисел произвольной...

Создать коллекцию, которая содержит целые числа
Добрый день,нужен совет по реализации задания Небходимо создать коллекцию,...

11
easybudda
Модератор
Эксперт CЭксперт С++
10090 / 6001 / 1503
Регистрация: 25.07.2009
Сообщений: 11,380
22.08.2013, 00:44 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class DoubleDigits {
    public static void main(String [] args) {
        for ( int i = -99; i < 100; ++i )
            if ( i < -9 || i > 9 )
                System.out.print(i + " ");
                
        System.out.println();
        
        for ( int i = 99; i > -100; --i )
            if ( i > 9 || i < -9 )
                System.out.print(i + " ");
        
        System.out.println();
    }
}
Задание не внимательно прочитал, не то немного, выводит от -99 до 99 пропуская однозначные числа, потом обратно.
1
Gastello
29 / 15 / 0
Регистрация: 11.04.2010
Сообщений: 391
22.08.2013, 01:02  [ТС] 3
Благодарю. Большое Вам спасибо. Сейчас буду разбирать код по кусочкам.

Добавлено через 17 минут
Боже, это же так банально и просто было

easybudda - Логика у Вас супер
0
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.08.2013, 01:15 4
Цитата Сообщение от Gastello Посмотреть сообщение
Суть в том, что реально ли это сделать одним циклом?
вот вам за один цикл, но только я не дописал последний вывод чтобы вам было интереснее дописать самому)
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
/**
 * @author mutagen
 */
public class OneCykle {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int a = 0;
        boolean forward = true;
        boolean minus = false;
 
        for (int i = 0; i <= 99 * 3; i++) {
            if (forward) {
                a++;
            } else {
                a--;
            }
            if (a > 9 && a <= 99) {
                System.out.println(a);
            } else if (a == 100) {
                forward = !forward;
                a = 100;
            }
            if (a == 10 && !forward) {
                minus = true;
                a = -99;
                forward = !forward;
            }
            if (minus) {
                if (a >= -99 && a <= -10) {
                    System.out.println(a);
                }
            } 
        }
    }
}
1
easybudda
Модератор
Эксперт CЭксперт С++
10090 / 6001 / 1503
Регистрация: 25.07.2009
Сообщений: 11,380
22.08.2013, 01:31 5
От -99 до 99 и обратно в одном цикле
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
class DoubleDigits {
    public static void main(String [] args) {
        int n = 1;
        for ( int i = -99; i > -100; i += n ) {
            if ( i > 99 )
                n = -1;
            else if ( i > 9 || i < -9 )
                System.out.print(i + " ");
        }
        
        System.out.println();
    }
}
2
Gastello
29 / 15 / 0
Регистрация: 11.04.2010
Сообщений: 391
22.08.2013, 01:32  [ТС] 6
Цитата Сообщение от mutagen Посмотреть сообщение
вот вам за один цикл, но только я не дописал последний вывод чтобы вам было интереснее дописать самому)
Большео Вам спасибо. Сейчас разберу и этот код по кусочкам. Очень интересно
0
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.08.2013, 08:59 7
Цитата Сообщение от easybudda Посмотреть сообщение
От -99 до 99 и обратно в одном цикле
нарушаем тз ))), 10 -> 99, 99 -> 10, -99 -> -10, -10 -> -99 в одном цикле )))
1
easybudda
Модератор
Эксперт CЭксперт С++
10090 / 6001 / 1503
Регистрация: 25.07.2009
Сообщений: 11,380
22.08.2013, 10:43 8
Цитата Сообщение от mutagen Посмотреть сообщение
10 -> 99, 99 -> 10, -99 -> -10, -10 -> -99 в одном цикле
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        for ( int n = 1, i = 10; i > -100; i += n ) {
            switch ( i ) {
                case 100 :
                case -9 :
                    n = -1;
                    System.out.println();
                    break;
                case 9 :
                    i = -100;
                    n = 1;
                    System.out.println();
                    break;
                default :
                    System.out.print(i + " ");
                    break;
            }
        }
1
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.08.2013, 10:55 9
красота
2
Gastello
29 / 15 / 0
Регистрация: 11.04.2010
Сообщений: 391
22.08.2013, 15:54  [ТС] 10
Ребят, как развить такую логику? Сорри если не в тему, но посоветуйте с чего начать? Я же даже элементарных вещей не смог сделать - исключить 18 чисел. Я до сих пор не могу понять, что такое циклы и для чего они нужны. Может ли кто-то объяснить, для чего они нужны и какую роль они играют в программирование. Только не с профессиональной точки зрения, а примерами типо (в кармане было 10 яблок....)
0
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.08.2013, 16:25 11
Цитата Сообщение от Gastello Посмотреть сообщение
Ребят, как развить такую логику?
решай задачки, сначала простенькие, потом сложнее, постепенно натренишь
1
easybudda
Модератор
Эксперт CЭксперт С++
10090 / 6001 / 1503
Регистрация: 25.07.2009
Сообщений: 11,380
22.08.2013, 18:11 12
Цитата Сообщение от Gastello Посмотреть сообщение
Ребят, как развить такую логику?
По-моему верный путь - учиться разбивать сложную задачу на простые. Я себе часто для наглядности картинки рисую на бумаге, что-то вроде блок-схем, только без фанатичного отрисовывания геометрически правильных ромбиков, квадратиков и т. д. Ну и сборники задач на логику существуют, попробуйте найти, порешать...

Цитата Сообщение от Gastello Посмотреть сообщение
Я до сих пор не могу понять, что такое циклы и для чего они нужны. Может ли кто-то объяснить, для чего они нужны и какую роль они играют в программирование. Только не с профессиональной точки зрения, а примерами типо (в кармане было 10 яблок....)
Из такой постановки задачи сам-собой напрашивающийся логический вывод - карман был достаточно большой, чтоб вместить 10 яблок
А если чуть серьёзнее, вот смотрите: есть 10 яблок, каждое нужно по разу надкусить. Первый способ - свалить их все в кучу, вытаскивать по одному, если уже надкусанное - класть обратно, если нет - надкусывать и класть. Две очевидные проблемы: первая - процесс может затянуться до бесконечности, если будет попадаться одно и то же яблоко, вторая - процесс затянется до бесконечности, т.к. не ясно, когда целые яблоки закончатся. Второе решение - разложить все яблоки в ряд, начав с первого брать по одному, откусывать и класть обратно. Таким образом, когда доберётесь к примеру до шестого, не нужно проверять надкусаны ли пять предыдущих. А надкусив последнее в ряду, можете быть уверены, что полностью справились с задачей! Другими словами, цикл - выполнение определённого действия (последовательности действий) с каждым из множества элементов, данных для обработки. В программировании циклы в принципе сплошь и рядом, поскольку уж для чего-чего, а для рутинной обработки наборов данных компьютеры оказываются весьма кстати...
1
22.08.2013, 18:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2013, 18:11

Класс, который в случайном порядке выводит на экран 30 целочисленных значений
Напишите пожалуйста. Очень надо. Добавлено через 55 секунд Класс, который в...

Написать программу, которая выводит на экран имя и фамилию
Написать программу, которая выводит на экран имя и фамилию

Напиcать программу, которая выводит на экран надпись 10 раз
/* Когда я вырасту, то хочу быть паровым экскаватором! Напиши программу,...


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

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

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