Баламут Чума (balamut4uma) wrote,
Баламут Чума
balamut4uma

Уровень 7. Javarush

Уровень 7

package com.javarush.test.level07.lesson06.task02;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* Самая длинная строка
1. Создай список строк.
2. Считай с клавиатуры 5 строк и добавь в список.
3. Используя цикл, найди самую длинную строку в списке.
4. Выведи найденную строку на экран.
5. Если таких строк несколько, выведи каждую с новой строки.
*/
public class Solution
{
        public static void main(String[] args) throws Exception
        {
                //напишите тут ваш код
                BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));                               
                ArrayList list = new ArrayList();
                list.add(reader.readLine());
                list.add(reader.readLine());
                list.add(reader.readLine());
                list.add(reader.readLine());
                list.add(reader.readLine());

                int max = list.get(0).length();
                for (int i = 1; i < list.size(); i++){
                        String s = list.get(i);
                        if(s.length() < max) {
                                list.remove(i);
                                i = i - 1;
                        }
                        if (s.length() > max){
                                max = s.length();
                                list.remove(i-1);
                                i = i -1;
                        }
                }
                for (int i = 0; i l1 = new ArrayList(); // Создаю список
       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        //Ввожу 5 строк с клавы
        for (int i = 0; i < 5; i++)
        {
                l1.add(reader.readLine());
        }
        //Здесь нахожу максимальную длинную строку
        int maxL = l1.get(0).length();
        for (int i = 1; i < l1.size();i++)
        {
                if (maxL < l1.get(i).length()){
                        maxL = l1.get(i).length();
                }
        }
//До этого момента все хорошо. Но давайте еще раз прочитаем условие,
//можно подумать что нас просят вывести макисмально длинную стоку на экран
//помимо пункта 5(т.е. 1раз сейчас и 1раз потом(или два+ если есть повторение),
//но это не так, нас просят вывести строку на экран и ЕСЛИ длина нашей строки
//совпадает еще с некоторым количеством строк,то вывести и их.
//В любом случае для того что бы вывести макс строку вне цыкла надо писать
//System.out.println(list.get(maxL));

//        System.out.println(maxL); //находит верно
        //здесь удаляю все элементы массива длины которых меньше максимальной
        for (int i = 0; i < l1.size();i++){
                if (l1.get(i).length() < maxL) {
                        l1.remove(i);
                        i = i -1;
                }
        }
//Ничего удалять ненадо, нас просят ВЫВЕСТИ, а не удалить
//Попробуйте реализовать через цыкл такое условие:
//если макс.длинна равно любой другой длинне елемента l1
//то в консоль будет выводиться этот елемент
        //Вывожу оставшиеся
        for (int i = 0; i < l1.size(); i++)
        {
                System.out.println(l1.get(i));
        }
        }
}

// а вот эта прошла


package com.javarush.test.level07.lesson06.task03;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* Самая короткая строка
1. Создай список строк.
2. Считай с клавиатуры 5 строк и добавь в список.
3. Используя цикл, найди самую короткую строку в списке.
4. Выведи найденную строку на экран.
5. Если таких строк несколько, выведи каждую с новой строки.
*/
public class Solution
{
        public static void main(String[] args) throws Exception
        {
                //напишите тут ваш код
        ArrayList l1 = new ArrayList(); // Создаю список
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        //Ввожу 5 строк с клавы
        for (int i = 0; i < 5; i++)
        {
                l1.add(reader.readLine());
        }

        int maxL = l1.get(0).length();
        for (int i = 1; i < l1.size();i++)
        {
                if (maxL > l1.get(i).length()){
                        maxL = l1.get(i).length();
                }
        }

        for (int i = 0; i < l1.size();i++){
                if (l1.get(i).length() > maxL) {
                        l1.remove(i);
                        i = i -1;
                }
        }
        for (int i = 0; i < l1.size(); i++)
        {
                System.out.println(l1.get(i));
        }
        }
}
// Прошла тестирование

package com.javarush.test.level07.lesson06.task04;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* 10 строчек в начало списка
1. Создай список строк в методе main.
2. Добавь в него 10 строчек с клавиатуры, но только добавлять не в конец списка, а в начало.
3. Используя цикл выведи содержимое на экран, каждое значение с новой строки.
*/
public class Solution
{
        public static void main(String[] args) throws Exception
        {
                //напишите тут ваш код
                BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
                ArrayList list = new ArrayList();
                for (int i = 0; i < 10; i++)
                {
                        String s = reader.readLine();
                        list.add(0,s);
                }
                for (int i = 0; i < 10; i++)
                        System.out.println(list.get(i));
                       

               
        }
}
// Прошла тестирование

package com.javarush.test.level07.lesson06.task05;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* Удали последнюю строку и вставь её в начало
1. Создай список строк.
2. Добавь в него 5 строчек с клавиатуры.
3. Удали последнюю строку и вставь её в начало. Повторить 13 раз.
4. Используя цикл выведи содержимое на экран, каждое значение с новой строки.
*/
public class Solution
{
        public static void main(String[] args) throws Exception
        {
               
                BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
                        ArrayList list = new ArrayList();
                        for (int i = 0; i < 5; i++)
                        {
                                String s = reader.readLine();
                                list.add(s);
                        }
                        int nEnd = list.size() - 1;
                        for (int i = 0; i < 13; i++) {
                                String s = list.get(nEnd);
                                list.remove(nEnd);
                                list.add(0,s);
                        }
                        for (int i = 0; i < 5; i++)
                        {
                                System.out.println(list.get(i));
                        }
        }
}
// Прошла тестирование

//Ввод списка целых чисел с клавиатуры

public static void main(String[] args) throws IOException
{
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        ArrayList list = new ArrayList();
        while (true)
        {
                String s = reader.readLine();
                if (s.isEmpty()) break;
                list.add(Integer.parseInt(s));
        }
}

//То же, чётные числа добавляются в конец списка, нечётные – в начало.

public static void main(String[] args) throws IOException
{
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        ArrayList list = new ArrayList();
        while (true)
        {
                String s = reader.readLine();
                if (s.isEmpty()) break;
                int x = Integer.parseInt(s);
                if (x % 2 == 0)
                        list.add(x);
                else
                        list.add(0, x);
        }
}

//Удаление всех чисел больше 5:
       
public static void main(String[] args) throws IOException
{
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        ArrayList list = new ArrayList();
        list.add(1);
        list.add(7);
        list.add(11);
        list.add(3);
        list.add(15);
       
        for (int i = 0; i < list.size(); )
        {
                if (list.get(i) > 5)
                        list.remove(i);
                else
                        i++;
        }
}

//Разделение массива на два – чётных и нечётных чисел
       
public static void main(String[] args) throws IOException
{
        int[] data = {1, 5, 6, 11, 3, 15, 7, 8};
       
        ArrayList list = new ArrayList();
        for (int i = 0; i < data.length; i++) list.add(data[i]);
       
        ArrayList even = new ArrayList();
        ArrayList odd = new ArrayList();
        for (int i = 0; i < list.size(); i++)
        {
                Integer x = list.get(i);
                if (x % 2 == 0)
                        even.add(x);
                else
                        odd.add(x);
        }
}
       
//Слияние списков.

public static void main(String[] args) throws IOException
{
        ArrayList list1 = new ArrayList();
        Collections.addAll(list1, 1, 5, 6, 11, 3, 15, 7, 8);
       
        ArrayList list2 = new ArrayList();
        Collections.addAll(list2, 1, 8, 6, 21, 53, 5, 67, 18);
       
        ArrayList result = new ArrayList();
       
        result.addAll(list1);
        result.addAll(list2);
       
        for (Integer x : result)
        {
                System.out.println(x);
        }
}
       
//

package com.javarush.test.level07.lesson09.task01;


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

/* Три массива
1. Введи с клавиатуры 20 чисел, сохрани их в список и рассортируй по трём другим спискам:
Число делится на 3 (x%3==0), делится на 2 (x%2==0) и все остальные.
Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка.
2. Метод printList должен выводить на экран все элементы списка с новой строки.
3. Используя метод printList выведи эти три списка на экран. Сначала тот, который для x%3, потом тот, который для x%2, потом последний.
*/

public class Solution
{
        public static void main(String[] args) throws Exception
        {
                //напишите тут ваш код
                BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
                ArrayList list = new ArrayList();
                for (int i = 0; i < 20; i++) {
                        String s = reader.readLine();
                        list.add(Integer.parseInt(s));
                }


                ArrayList list1 = new ArrayList();
                ArrayList list2 = new ArrayList();
                ArrayList list3 = new ArrayList();
                for (int i = 0; i < list.size(); i++)
                {
                        Integer x = list.get(i);
                        if (x % 3 == 0)
                                list1.add(x);
                        if(x % 2 == 0)
                                        list2.add(x);
                        if((x % 2 != 0)&(x % 3 != 0))
                                        list3.add(x);
                }
                //System.out.println("list1");
                printList(list1);
                //System.out.println("list2");
                printList(list2);
                //System.out.println("list3");
                printList(list3);
        }

        public static void printList(List list)
        {
                //напишите тут ваш код
                for (int i = 0; i < list.size(); i++)
                {
                        System.out.println(list.get(i));
                }

        }
}

package com.javarush.test.level07.lesson09.task02;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;

/* Слова в обратном порядке
Введи с клавиатуры 5 слов в список строк. Удали 3 - ий элемент списка, и выведи оставшиеся элементы в обратном порядке.
*/

public class Solution
{
        public static void main(String[] args) throws Exception
        {
                //напишите тут ваш код
                BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
                        ArrayList list = new ArrayList();
                        for (int i = 0; i < 5; i++)
                        {
                                String s = reader.readLine();
                                list.add(s);
                        }

                        list.remove(2); // счёт от 0,1,2 третий элемент это 2
                        int j = list.size();
                        for (int i = 0; i < j; i++)
                        {
                                System.out.println(list.get(j - i - 1));
                        }
        }
}

package com.javarush.test.level07.lesson09.task03;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;

/* Слово «именно»
1. Создай список из слов «мама», «мыла», «раму».
2. После каждого слова вставь в список строку, содержащую слово «именно».
3. Используя цикл for вывести результат на экран, каждый элемент списка с новой строки.
*/

public class Solution
{
        public static void main(String[] args) throws Exception
        {
                //напишите тут ваш код
                ArrayList list = new ArrayList();
                list.add("мама");
                list.add("мыла");
                list.add("раму");
                list.add(1,"именно");
                list.add(3,"именно");
                list.add("именно");
                for (int i = 0; i < list.size(); i++)
                        {
                                System.out.println(list.get(i));
                        }
        }
}


package com.javarush.test.level07.lesson09.task04;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* Буква «р» и буква «л»
1. Создай список слов, заполни его самостоятельно.
2. Метод fix должен:
2.1. удалять из списка строк все слова, содержащие букву «р»
2.2. удваивать все слова содержащие букву «л».
2.3. если слово содержит и букву «р» и букву «л», то оставить это слово без изменений.
2.4. с другими словами ничего не делать.
Пример:
роза
лира
лоза
Выходные данные:
лира
лоза
лоза
*/

public class Solution
{
        public static void main(String[] args) throws Exception
        {
                BufferedReader bis = new BufferedReader(new InputStreamReader(System.in));

                ArrayList list = new ArrayList();
                list.add("роза"); //0
                list.add("лира"); //1
                list.add("лоза"); //2
                list = fix(list);

                for (String s : list)
                {
                        System.out.println(s);
                }
        }

        public static ArrayList fix(ArrayList list)
        {
                //напишите тут ваш код
                for (int i = 0; i < list.size(); i++)
                        {
                                if((list.get(i).contains("р"))&&(!list.get(i).contains("л")))
                                        {
                                                list.remove(i);
                                                i--;
                                        }
                                else
                                        if((!list.get(i).contains("р"))&&(list.get(i).contains("л")))
                                        {
                                                list.add(i, list.get(i));
                                                i++;
                                        }
                        }               
               
                return list;
        }
}

package com.javarush.test.level07.lesson09.task05;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* Удвой слова
1. Введи с клавиатуры 10 слов в список строк.
2. Метод doubleValues должен удваивать слова по принципу a,b,c -> a,a,b,b,c,c.
3. Используя цикл for выведи результат на экран, каждое значение с новой строки.
*/

public class Solution
{
        public static void main(String[] args) throws Exception
        {
                //Считать строки с консоли и объявить ArrayList list тут
                BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
                        ArrayList list = new ArrayList();
                        for (int i = 0; i < 10; i++)
                        {
                                String s = reader.readLine();
                                list.add(s);
                        }               
                ArrayList result = doubleValues(list);
                       
                for (int i = 0; i < result.size(); i++)
                        {
                                System.out.println(result.get(i));
                        }
                //Вывести на экран result
        }

        public static ArrayList doubleValues(ArrayList list)
        {
                //напишите тут ваш код
                ArrayList listd = new ArrayList();
                        for (int i = 0; i < list.size(); i++)
                        {
                                listd.add(list.get(i));
                                listd.add(list.get(i));
                        }               
               
                return listd;
        }
}

#java #программирование #javarush #баламутчума
#баламутчумаjava #баламутчумапрограммирование #баламутчумаjavarush
Tags: #java, #javarush, #баламутчума, #баламутчумаjava, #баламутчумаjavarushМетки, #баламутчумапрограммирование, #программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments