Главная » Статьи » JavaRush

создание и использование массивов
package com.javarush.test.level07.lesson04.task01;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/* Максимальное среди массива на 20 чисел
1. В методе initializeArray():
1.1. Создайте массив на 20 чисел
1.2. Считайте с консоли 20 чисел и заполните ими массив
2. Метод max(int[] array) должен находить максимальное число из элементов массива
*/
public class Solution
{
 public static void main(String[] args) throws Exception
 {
 int[] array = initializeArray();
 int max = max(array);
 System.out.println(max);
 }
 public static int[] initializeArray() throws IOException {
 int[] arr = new int[20];
 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 for (int i=0;i<arr.length;i++){
 arr[i]=Integer.parseInt(reader.readLine());
 }
 return arr;
 }

 public static int max(int[] array) {
 int max = array[0];
 for (int i=0; i<array.length;i++) {
 if (array[i]>max) max=array[i];
 }
 return max;
 }
}

###################################################################

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

import java.io.BufferedReader;
import java.io.InputStreamReader;

/* Массив из строчек в обратном порядке
1. Создать массив на 10 строчек.
2. Ввести с клавиатуры 8 строчек и сохранить их в массив.
3. Вывести содержимое всего массива (10 элементов) на экран в обратном порядке. Каждый элемент - с новой строки.
*/
public class Solution
{
 public static void main(String[] args) throws Exception
 {
 String [] arr = new String[10];
 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

 for(int i = 0; i < arr.length; i++){
 arr[i] = reader.readLine();
 }


 for(int i = arr.length-1; i >= 0; i--){
 System.out.println(arr[i]);
 }
 }
}

################################################################

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

import java.io.BufferedReader;
import java.io.InputStreamReader;

/* 2 массива
1. Создать массив на 10 строк.
2. Создать массив на 10 чисел.
3. Ввести с клавиатуры 10 строк, заполнить ими массив строк.
4. В каждую ячейку массива чисел записать длину строки из массива
 строк, индекс/номер ячейки которой
совпадает с текущим индексом из массива чисел.
 Вывести содержимое массива
 чисел на экран, каждое значение выводить с новой строки.
*/

public class Solution
{
 public static void main(String[] args) throws Exception
 {
 String[] srt = new String[10];
 Integer[] intarr = new Integer[10];

 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 for(int i = 0; i < srt.length; i++){
 String s = reader.readLine();
 srt[i] = s;
 }

 for(int i = 0; i < intarr.length; i++){
 intarr[i] = srt[i].length();
 }

 for(int i = 0; i < intarr.length; i++){
 System.out.println(intarr[i]);
 }

 }
}

############################################################

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

import java.io.BufferedReader;
import java.io.InputStreamReader;

/* Массив из чисел в обратном порядке
1. Создать массив на 10 чисел.
2. Ввести с клавиатуры 10 чисел и записать их в массив.
3. Расположить элементы массива в обратном порядке.
4. Вывести результат на экран, каждое значение выводить с новой строки.
*/

public class Solution
{
 public static void main(String[] args) throws Exception
 {
 int[] array1 = new int[10];

 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 for (int i=0;i<array1.length;i++){
 array1[i]=Integer.parseInt(reader.readLine());
 }
 for (int i=array1.length-1;i>=0;i--){
 System.out.println(array1[i]);
 }

 }
}

################################################################

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

import java.io.BufferedReader;
import java.io.InputStreamReader;

/* Один большой массив и два маленьких
1. Создать массив на 20 чисел.
2. Ввести в него значения с клавиатуры.
3. Создать два массива на 10 чисел каждый.
4. Скопировать большой массив в два маленьких: половину чисел в первый маленький, вторую половину во второй маленький.
5. Вывести второй маленький массив на экран, каждое значение выводить с новой строки.
*/

public class Solution
{
 public static void main(String[] args) throws Exception
 {
 int[] array1 = new int[20];
 int[] array2 = new int[10];
 int[] array3 = new int[10];

 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 for (int i=0;i<array1.length;i++){
 array1[i]=Integer.parseInt(reader.readLine());
 }

 for (int i=0;i<array2.length;i++){
 array2[i]=array1[i];
 array3[i]=array1[i+10];
 System.out.println(array3[i]);
 }

 }
}

###########################################################################

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

import java.util.ArrayList;

/* 5 различных строчек в списке
1. Создай список строк.
2. Добавь в него 5 различных строчек.
3. Выведи его размер на экран.
4. Используя цикл выведи его содержимое на экран, каждое значение с новой строки.
*/
import java.util.ArrayList;

public class Solution
{
 public static void main(String[] args) throws Exception
 {
 ArrayList<String> list = new ArrayList<String>();

 list.add("мама");
 list.add("мыла");
 list.add("раму");
 list.add("тополь");
 list.add("кипарис");

 System.out.println(list.size());

 for(int i = 0; i < 5; i++){
 System.out.println(list.get(i));
 }

 }
}

##########################################################

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
 {
 //напишите тут ваш код
 ArrayList<String> list = new ArrayList<String>();

 BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
 for (int i = 0; i < 5; i++){
 String s = reader.readLine();
 list.add(s);
 }
 int Slength = list.get(0).length();

 for (int i = 0; i < 4; i++)

 if (list.get(i).length() < list.get(i + 1).length())

 Slength = list.get(i + 1).length();

 for (int i = 0; i < 5; i++)

 if (Slength == list.get(i).length())

 System.out.println(list.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<String> list = new ArrayList<String>();

 BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
 for (int i = 0; i < 5; i++){
 String s = reader.readLine();
 list.add(s);
 }
 int Slength = list.get(0).length();

 for (int i = 0; i < 4; i++)

 if (Slength > list.get(i + 1).length())

 Slength = list.get(i + 1).length();

 for (int i = 0; i < 5; i++)

 if (Slength == list.get(i).length())

 System.out.println(list.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
 {
 ArrayList<String> list = new ArrayList<String>();
 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 for (int i=0;i<10;i++)
 list.add(0,reader.readLine());
 for (int i=0;i<list.size();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
 {
 ArrayList<String> list = new ArrayList<String>();

 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

 for (int i = 0; i < 5; i++){
 String str = reader.readLine();
 list.add(str);
 }

 for (int i = 0; i < 13; i++){
 String s = list.remove(list.size() - 1);
 list.add(0, s);
 }

 for (int i = 0; i < list.size() ; 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(); ) //убрали увеличение i внутрь цикла 
 { 
 if (list.get(i) > 5)
 list.remove(i); //не увеличиваем i, если удалили текущий элемент 
 else
 i++;
 }
}

Разделение массива на два – чётных и нечётных чисел

public static void main(String[] args) throws IOException
{
 //статическая инициализация массива
 int[] data = {1, 5, 6, 11, 3, 15, 7, 8}; 

 //создание списка, где все элементы должны быть типа Integer 
 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) //если x - чётное
 even.add(x); // добавляем x в коллекцию четных чисел 
 else
 odd.add(x); // добавляем 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) //быстрый for по всем элементам, только для коллекций
 {
 System.out.println(x);
 }
}

############################################################

package com.javarush.task.task07.task0713;

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

/*
Играем в Jолушку
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
    {
        //создаём и заполняем список на 20 цифр
        ArrayList<Integer> list20 = new ArrayList<Integer>();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        for (int i = 0; i<20; i++) list20.add(Integer.parseInt(reader.readLine()));

        //создаём три других списка
        ArrayList<Integer> list3 = new ArrayList<Integer>();
        ArrayList<Integer> list2 = new ArrayList<Integer>();
        ArrayList<Integer> list_other = new ArrayList<Integer>();

        //сортируем
        for (int x : list20){
            if (x % 3 == 0) list3.add(x);
            if (x % 2 == 0) list2.add(x);
            if ((x%3!=0)&&(x%2!=0)) list_other.add(x);
         }

        //печатаем
        printList(list3);
        printList(list2);
        printList(list_other);
    }

    public static void printList(List<Integer> list) {
        for (int x : list) System.out.println(x);
    }
}


#################################################################

package com.javarush.task.task07.task0714;

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
    {
        //Создаём и заполняем список
        ArrayList<String> list = new ArrayList<String>();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        for (int i = 0; i<5; i++) list.add(reader.readLine());
            list.remove(2); // Удалили 3 элемент  
        //Выводим в обратном порядке
        for (int i = list.size()-1; i>=0; i--) System.out.println(list.get(i));
    }

}

#######################################

package com.javarush.task.task07.task0715;

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

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

public class Solution
{
    public static void main(String[] args) throws Exception
    {
       //Создаём и заполняем список
        ArrayList<String> list = new ArrayList<String>();
        list.add("мама");
        list.add("мыла");
        list.add("раму");

        //добавляем  слово "именно"
        //сначала в самый конец, потом на 2
        list.add("именно");
        list.add(2,"именно");
        list.add(1,"именно");

        //печатаем
        for (String s : list) System.out.println(s);

    }
}

################################################################

package com.javarush.task.task07.task0716;

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
    {
        //создаем и заполняем список
        ArrayList<String> list = new ArrayList<String>();
        list.add("роза"); //0
        list.add("лира"); //1
        list.add("лоза"); //2
        list = fix(list);

        //печатаем список
        for (String s : list)
        {
            System.out.println(s);
        }
    }

    public static ArrayList<String> fix(ArrayList<String> list) {
        //обрабатываем список
        for (int i = 0; i < list.size(); i++)
        {
            if (list.get(i).contains("л") && list.get(i).contains("р"))
            {
            } else
            {
                if (list.get(i).contains("л")) {
                    list.add(i, list.get(i));
                    i++;
                }
                if (list.get(i).contains("р"))
                {
                    list.remove(i);
                    i--;
                }
            }
        }

        return list;
    }
}

######################################################

 

 

 

 

 

 

 

 

 

 



Источник: http://package com.javarush.task.task07.task0713;
Категория: JavaRush | Добавил: kuzma (07.02.2017) | Автор: package com.javarush.task.task07
Просмотров: 1456 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar

Программирование игр на Python

Django - создание сайтов с нуля

Javascript - просто используем готовые решения