Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Условие прерывания цикла 
:(
    Опции темы
PrinceOFF
Дата 21.4.2016, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 21.10.2013
Где: Минск, РБ

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



Всем привет.
Не получается организовать условие прерывания цикла (при вводе слова "стоп"). Точнее, условие я организовал, но, я думаю, можно лаконичнее.

Код

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String stop = "стоп";
        ArrayList<String> list = new ArrayList<>();

        while (true) {
            String s = reader.readLine();
            if (s.equals(stop)) break;
            else
                list.add(s);
        }

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


Пробовал сделать в одну строку, но не получается. В чем ошибка, натолкните на мысль?
Код

while (!stop.equals(reader.readLine())) {
            String s = reader.readLine();
            list.add(s);
        }

В условии хочу задать, что если "reader.readLine()" будет равняться по значению "стоп", то тело цикла не выполнять. 
В чем ошибка, натолкните на мысль?

P.S. Или у меня нормально написано и не надо ничего выдумывать?

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


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(PrinceOFF @  21.4.2016,  11:41 Найти цитируемый пост)
В чем ошибка, натолкните на мысль?

У тебя дважды вызывается readLine() и каждый раз оно возвращает новую строку.
Код

        String str;
        while (!"stop".equals(str=reader.readLine())){
            list.add(str);
        }



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
PrinceOFF
Дата 21.4.2016, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 21.10.2013
Где: Минск, РБ

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



Да, точно. Никак не мог сообразить в условие добавить ссылку и ее же потом использовать..(( Точнее, решил, что инициализировать ее нужно только в теле метода... smile 

PM   Вверх
rodomod
Дата 26.4.2016, 18:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Solutions
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String stop = "стоп";
        ArrayList<String> list = new ArrayList<>();

        while (true) {
            String s = reader.readLine();
            if (s.equals(stop)) break;
            else
                list.add(s);
        }

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

ну у меня скомпилировало файл сразу ;
но вывода никакого нет ... (водемо я lox файл не вписал для считывания){
                  widimo(так и есть){
                  return null;
                     }

Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
rodomod
Дата 26.4.2016, 19:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered












Код



import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Solutions
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String stop = "стоп";
        ArrayList<String> list = new ArrayList<>();

        while (true) {
            String s = reader.readLine();
            if (s.equals(stop)) break;
            else
                list.add(s);
        }

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


Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
rodomod
Дата 27.4.2016, 15:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

import java.io.*; 

public class ExFile {
public static void outFile(String str) {
String fileName="C:/Users/admin/Documents/simvol_En.txt";
boolean isAppend=false;
try (FileWriter writer=new FileWriter(fileName , isAppend)) {
writer.write(str);
}catch(IOException ex){
System.out.println(ex.getMessage());
}
}
public static void main(String[] args) {

String fileName = "E:a.txt"; 

FileInputStream inputStream = null; 

try {
byte[] buffer = new byte[95]; 
String str="";
inputStream = new FileInputStream(fileName); 
int total = 0; 
int nRead = 0; 

while ((nRead = inputStream.read(buffer)) != -1) {

System.out.println(new String(buffer)); 
total += nRead;

}
System.out.println("Read " + total + " bytes");

str=new String(buffer,"UTF-8"); 
outFile(str);
} catch (FileNotFoundException ex) {

System.out.println("Unable to open file '" + fileName + "'"); 

} catch (IOException ex) {

System.out.println("Error reading file '" + fileName + "'"); 

} finally {

try {

if (inputStream != null) {

inputStream.close(); 
}

} catch (IOException e) {

}

}
}
}


Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

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


 




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


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

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