Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/579: Рейтинг темы: голосов - 579, средняя оценка - 4.51
Pti44ka
1

Работа с текстом в Java, ввод с клавиатуры

02.09.2009, 15:18. Показов 108165. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно написать программу и часть кода должна выводить цифровую строку. Пользователь вводит с клавиатуры,а потом программа обрабатывает строку. Покажите,пожалуйста, хотябы пример кода для вывода строки с клавиатуры. Понимаю,что вопрос довольно простой,но я только начинаю изучать Java.
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2009, 15:18
Ответы с готовыми решениями:

Работа с текстом/Java
Задача стоит следующая: все латинские буквы перед первым знаком "*" заменить на "."(точки), дальше...

Работа с текстом в java
Здравствуйте, Хотелось бы узнать библиотеку/команду для того что бы я мог например с какого то го...

Работа с точкой: ввод с цифровой клавиатуры
При вводе в текст боксы числа запятой, он компилятор требует именно запятую. Но мне удобнее вводить...

Ввод массива с клавиатуры и работа с ним (сравнение, обмен элементов)
Здравствуйте. Сейчас учусь ассемблеру, как перешел к след. теме о массивах, так не могу найти...

17
2451 / 362 / 8
Регистрация: 27.06.2009
Сообщений: 880
02.09.2009, 15:39 2
Java
1
2
string a = System.In.read();
System.out.print(a);
0
31 / 31 / 4
Регистрация: 15.11.2008
Сообщений: 205
02.09.2009, 15:58 3
only#, невзлетит)
0
2451 / 362 / 8
Регистрация: 27.06.2009
Сообщений: 880
02.09.2009, 17:08 4
Цитата Сообщение от грязный Посмотреть сообщение
only#, невзлетит)
Что так?)) Поправтье меня, сам к java только присматриваюсь.
0
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
02.09.2009, 18:51 5
Java
1
2
3
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
System.out.println(s);
1
31 / 31 / 4
Регистрация: 15.11.2008
Сообщений: 205
03.09.2009, 07:01 6
only#, во-первых не "string" а "String", во-вторых не "In" а "in", и втретьих метод read() возвращает тип int
1
Эксперт С++
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
03.09.2009, 11:22 7
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Ну если для новичка, то, наверное, вот так:

Java
1
2
3
4
5
6
7
8
9
import java.util.Scanner;
 
public class Example1 {
    public static void main(String args[]) {
        Scanner scan = new Scanner(System.in);
        String s = scan.nextLine();
        System.out.println(s);
    }
}
К тому же стоит отметить, что сохранить ентот код нужно в файл Example1.java

Компилить командой
Код
%JREPath%/javac Example1.java
Запускать командой
Код
%JREPath%/java Example1
4
1 / 1 / 1
Регистрация: 13.06.2009
Сообщений: 4
05.11.2009, 19:13 8
А так
Java
1
2
3
4
5
6
7
8
      import java.io.*;
          class s{
             public static void main(String args[]){
                  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            String h=br.Readline();
                   System.out.println(h);
         }
       }
1
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
06.11.2009, 19:03 9
Когда начинал учить java, то первое что сделал - написал свой класс
IOStream
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
class IOStream
{
    static boolean jar; 
    static private java.io.BufferedReader jin = 
        new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
    static private String buf;
    static String ReadString()
    {
        try 
        {
            buf = jin.readLine();
        } 
        catch (java.io.IOException e) 
        {
            buf = "null";
        }
        return buf;
    }
    static double ReadDouble()
    {
        double buf;
        try 
        {
            buf = Double.parseDouble(jin.readLine());
        } 
        catch (java.io.IOException e) 
        {
            buf = 0.0;
        }
        catch(NumberFormatException e)
        {
            Print("Введены некорректные данные, повторите ввод!\n");
            buf = ReadDouble();
        }
        return buf;
    }
    static int ReadInt()
    {
        int buf;
        try 
        {
            buf = Integer.parseInt(jin.readLine());
        } 
        catch (java.io.IOException e) 
        {
            buf = 0;
        }
        catch(NumberFormatException e)
        {
            Print("Введены некорректные данные, повторите ввод!\n");
            buf = ReadInt();
        }
        return buf;
    }
    static short ReadShort()
    {
        short buf;
        try 
        {
            buf = Short.parseShort(jin.readLine());
        } 
        catch (java.io.IOException e) 
        {
            buf = 0;
        }
        catch(NumberFormatException e)
        {
            Print("Введены некорректные данные, повторите ввод!\n");
            buf = ReadShort();
        }
        return buf;
    }
    static byte ReadByte()
    {
        byte buf;
        try 
        {
            buf = Byte.parseByte((jin.readLine()));          
        } 
        catch (java.io.IOException e) 
        {
            buf = 0;
        }
        catch(NumberFormatException e)
        {
            Print("Введены некорректные данные, повторите ввод!\n");
            buf = ReadByte();
        }
        return buf;
    }
    static boolean ReadBool()
    {
        boolean buf1;
        try 
        {
            buf = jin.readLine();
            if(Boolean.parseBoolean(buf))
                return true;
            else
                if(buf.equalsIgnoreCase("false"))
                    return false;
                else
                    throw new Exception();
        } 
        catch (Exception e) 
        {
            Print("Введены некорректные данные, повторите ввод!\n");
            buf1 = ReadBool();
        }
        return buf1;
    }
    static void Print(String text)
    {
        if(jar)
            System.out.print(Repl(text));
        else
            System.out.print(text);
    }
    static void PrintLine(String text)
    {
        if(jar)
            System.out.println(Repl(text));
        else
            System.out.println(text);
    }
    static void PrintLine()
    {
        System.out.println();
    }
    static short ReadShort(short infinum, short supremum)
    {
        short buf;
        try 
        {
            buf = Short.parseShort(jin.readLine());
            if(buf < infinum || buf > supremum)
                throw new NumberFormatException();
        } 
        catch (java.io.IOException e) 
        {
            buf = 0;
        }
        catch(NumberFormatException e)
        {
            Print("Введены некорректные данные, повторите ввод!\n");
            buf = ReadShort(infinum, supremum);
        }
        return buf;
    }
    static byte ReadByte(byte infinum, byte supremum)
    {
        byte buf;
        try 
        {
            buf = Byte.parseByte((jin.readLine())); 
            if(buf < infinum || buf > supremum)
                throw new NumberFormatException();
        } 
        catch (java.io.IOException e) 
        {
            buf = 0;
        }
        catch(NumberFormatException e)
        {
            Print("Введены некорректные данные, повторите ввод!\n");
            buf = ReadByte(infinum, supremum);
        }
        return buf;
    }
    static int ReadInt(int infinum, int supremum)
    {
        int buf;
        try 
        {
            buf = Integer.parseInt(jin.readLine());
            if(buf < infinum || buf > supremum)
                throw new NumberFormatException();
        } 
        catch (java.io.IOException e) 
        {
            buf = 0;
        }
        catch(NumberFormatException e)
        {
            Print("Введены некорректные данные, повторите ввод!\n");
            buf = ReadInt(infinum, supremum);
        }
        return buf;
    }
    static String Replace(String text)
    {
        String []LRus = {"а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й",
                        "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф",
                        "х", "ц", "ч", "ш", "щ", "ь", "ы", "ъ", "э", "ю", "я" };
        
        String []URus = {"А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й",
                         "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф",
                         "Х", "Ц", "Ч", "Ш", "Щ", "Ь", "Ы", "Ъ", "Э", "Ю", "Я" };
        
        String []LEng = {"a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j",
                         "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f",
                         "kh", "ts", "ch", "sh", "sch", "'", "y", "'", "e", "ju", "ja" }; 
        
        String []UEng = {"A", "B", "V", "G", "D", "E", "Jo", "Zh", "Z", "I", "J",
                         "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "F", 
                         "Kh", "Ts", "Ch", "Sh", "Sch", "'", "Y", "'", "E", "Ju", "Ja" };
        byte index;
        for(index = 0; index < 33; ++index)
        {
            text = text.replace(LRus[index], LEng[index]);
            text = text.replace(URus[index], UEng[index]);
        }
        return text;
    }
}
, который по необходимости только расширяю
2
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
06.11.2009, 22:11 10
а какие у него возможности?
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.11.2009, 20:51 11
Mecid, насколько я знаю, то буферридер работает немного быстрее чем сканер. Возможности? Пока примитивные - транслитерация, чтение чисел с консоли в заданном диапазоне и без него, пока примитивная печать(при вызове в параметрах необходимо явное приведение типа, мне было лень для разных типов копипастить метод) и чтение из консоли самых основных типов данных. А главное, при написании программ я не задумываюсь о создании потоков, объектов и т.д. - просто вызываю статические методы класса. В остальном пока небыло нужды, так что пока в классе этого нету
0
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
07.11.2009, 23:17 12
static не есть хорошо сделайте,синглтон.
0
5 / 5 / 1
Регистрация: 03.12.2009
Сообщений: 19
06.12.2009, 03:50 13
Когда я начинал учить Java на первом курсе, в универе нам показали способ с классом Xterm, так как это только начало чтоб упростить задачу, потом конечно разжевали и другие способы...
Просто добавьте этот класс в ваш проэкт
http://odeku.narod.ru/Xterm.java

Java
1
2
3
4
5
int a =Xterm.inputInt("a=");
double a =Xterm.inputDouble("a=");
char a =Xterm.inputChar("a=");
char []a =Xterm.inputChars("a=");
String a=new String(Xterm.inputChars("a="));
0
12 / 1 / 0
Регистрация: 16.02.2012
Сообщений: 104
05.10.2012, 17:16 14
Подскажите пожалуйста, еще раз. Допустим я хочу написать программу: при нажатии на клавишу она выводит ее на экран.
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
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package javaapplication7;
 
/**
 *
 * @author oleg
 */
public class Main {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int a;
        string a = System.In.read();
        System.out.print(a);
        // TODO code application logic here
    }
 
}
Java
1
        string a = System.In.read();
Почему в этой строчке ошибка.

Обнесите как делать, а то читаю и не как не могу понять.
0
1 / 1 / 1
Регистрация: 13.06.2009
Сообщений: 4
05.10.2012, 17:17 15
System.In.read() возвращает int а не стринг. Чтобы считать строку код пишется примерно так
Java
1
2
   BufferedReader br=new BufferedReader(new InputStreamReader(System.In));
   string t=br.readline();
P.S Не забудь добавить import java.io.*
0
Просто Лис
Эксперт Python
5731 / 3530 / 1055
Регистрация: 17.05.2012
Сообщений: 10,359
Записей в блоге: 9
05.10.2012, 20:47 16
выше уже было написано.
Java
1
String t = br.nextLine();
String с большой буквы

Добавлено через 3 минуты
вот пример
Java
1
2
3
4
BufferedReader bReader = new BufferedReader (new InputStreamReader(System.in));
// ввод строки данных
String cStr;
cStr = bReader.readLine();
0
12 / 1 / 0
Регистрация: 16.02.2012
Сообщений: 104
06.10.2012, 01:09 17
Подскажите как написать протенькую программу, чтобы понять. Чтобы при нажатии с клавиатуры выводилось на экран.

Добавлено через 2 часа 11 минут
Не получается выдает ошибку,

Не понимаю, можете на примере показать, допустим у нас 2 числа мы хотим выполнить сложение, мы вводим 2 числа с клавиатуры и он выдает результат, как это сделать , я вот тока начал изучать.
0
1 / 1 / 0
Регистрация: 15.05.2014
Сообщений: 8
17.08.2014, 18:11 18
OlegDudrov,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
package writeread;
 
import java.util.Scanner;
 
public class wellplayed {
 
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String s = scan.nextLine();
        System.out.println(s);
    }
 
}
Цитирую выше написанное
0
17.08.2014, 18:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2014, 18:11
Помогаю со студенческими работами здесь

Ассемблер\Работа с файлами\Поиск в файле\ввод искомого символа с клавиатуры с выводом результата на екран.
Всем доброго времени суток. проблема то вот в чем: мне необходимо сделать програму,вводишь с...

Ввод с клавиатуры значения=>работа функции=>вывод значения на экран
Есть функция факториала: SECTION .start global _start _start: mov eax, 10; mov ecx, eax;...

Как правильно заменить ввод данных простой на ввод с клавиатуры?
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран?...

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

Ввод символов с клавиатуры в ОЗУ с использованием режима ожидания готовности контроллера клавиатуры
. Разработать алгоритм ввода символов с клавиатуры в ОЗУ с использованием режима ожидания...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru