level04.lesson13.task02-task03

Всем Доброго Времени Суток!
Хотелось бы обсудить как решаются подобного рода задачи. Как решают такие задачи опытные программисты?
Вот например у меня есть такого рода решение:

public static void main (String[] args) throws IOException{
int i = 1, j = 1;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int m = Integer.parseInt(reader.readLine());
int n = Integer.parseInt(reader.readLine());

while (j <= m)
{
while (j <= n)
{
System.out.print(8);
j++;
}
System.out.println();
j=1;
i++;
}
Но судя по тестированию цикл получается бесконечный. В чем заключается ошибка? Что конкретно по этой теме посоветуете почитать. Интересует как решение данных задач так и сама логика (дабы разобраться как решать их). Ну и может если есть примеры реального использования.
Всем заранее спасибо.
  • ,

javarush.test.level07.lesson09.task04

помогите, пожалуйста, определить наличие буквы в строке списка. пробовала про помощи метода *.contains(), выдаёт тонну ошибок.
собственно, код:

for(int i=0; i < list.size(); i++){
String s1 = list.get(i);
if (s1.contains(«р») && s1.contains(«л»)){
break;
}
else if (s1.toString().contains(«р»)){
list.remove(i);
}
else if (s1.toString().contains(«л»)){
int v = i + 1;
list.add(v, list.get(i));
}
System.out.println(list.get(i));
}
  • ,

package com.javarush.test.level05.lesson12.bonus03

Не пойму, что не так… все работает, любой из 2-х вариантов, что с массивом что без него. Помогите пожалуйста, а то топлива не хватает :)

/* Задача по алгоритмам
Написать программу, которая:
1. вводит с консоли число N > 0
2. потом вводит N чисел с консоли
3. выводит на экран максимальное из введенных N чисел.
*/

public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int maximum = 0; // максимум я поставил 0, может его нужно было
// инициализировать по-другому?

//напишите здесь ваш код
int count;
do{
count = Integer.parseInt(reader.readLine());
} while (count <=0);

// int arr[] = new int[count];
//
// for (int i = 0; i < count; i++){
// arr[i] = Integer.parseInt(reader.readLine());
// if (arr[i] > maximum)
// maximum = arr[i];
// }

for(int i = 0; i < count; i++){
int a = Integer.parseInt(reader.readLine());
if(a > maximum)
maximum = a;
}

System.out.println(maximum);
}
}

Разница в Java между паттерном синглтон и статическими классами.

Эта статья, о сравнении паттерна синглтон со статическим классом (такой класс, в котором все методы — статические) поднимает интересные вопросы, пропущенные автором в записи блога «Вопросы для интервью о паттерне синглтон в Java». Так как оба, и паттерн синглтон, и статический класс обеспечивают хороший доступ, а также имеют общие черты, например оба могут быть использованы без создания объекта и оба создают только один экземпляр. Это очень похоже на то, будто они оба предназначены для решения одной и той же задачи. Из-за высокого уровня сходства, интервьюеры обычно задают вопрос «Почему вы чаще используете паттерн синглтон вместо статических методов?» или «Вы можете заменить паттерн синглтон статическим классом, и какая вообще между ними разница?» Для ответа на данный вопрос, важно помнить фундаментальные различия между этими двумя подходами, первый дает нам Объект, для которого позже просто предоставляет статичные методы. Так как объект всегда емче метода, это может помочь вам разобраться, когда использовать паттерн синглтон, а когда статические методы.