ошибка java не может найти символ при использовании системы.in.read (buffer, 0, 255)

Мой код:

public class IOTest {
public static void main(String[] args) {
    System.out.println("请在下面输入一行字符 :n");
    try {
        System.in.read(buffer,0,255);
    }
    catch(Exception e) {
        System.out.println("读取输入字符出错,错误信息为 :"+e.toString()+"n");
    }
    System.out.println("您刚才输入的一行字符为 :n");
    String inputStr=new String(buffer,0);
    System.out.println(inputStr);
}
}

Ниже приведены сведения об ошибке при запуске кода :

D:dasijavajavaLab>javac -encoding UTF-8 IOTest.java
`enter code here`IOTest.java:7: 错误: 找不到符号
                    System.in.read(buffer,0,255);
                                   ^


符号:   变量 buffer
  位置: 类 IOTest
IOTest.java:13: 错误: 找不到符号
                String inputStr=new String(buffer,0);
                                           ^
  符号:   变量 buffer
  位置: 类 IOTest
注: IOTest.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
2 个错误

Кто-нибудь может мне помочь? Я действительно проверил, и я до сих пор не знаю, почему.
Кстати, китайские слова «错误 :号号» означают «ошибка : не удается найти символ».

2 ответа

  1. Вы должны создать bufferпеременную, как это:

    byte[] buffer = new byte[256]
    

    Полный код:

    public class IOTest {
        public static void main(String[] args) {
            System.out.println("请在下面输入一行字符 :\n");
            byte[] buffer = new byte[256]; // This line was added
            try {
                System.in.read(buffer,0,255);
            }
            catch(Exception e) {
                System.out.println("读取输入字符出错,错误信息为 :"+e.toString()+"\n");
            }
            System.out.println("您刚才输入的一行字符为 :\n");
            String inputStr=new String(buffer,0);
            System.out.println(inputStr);
        }
    }
    
  2. Вы можете прочитать на некоторых Java учебник перед продолжением — например, это: http://docs.oracle.com/javase/tutorial/essential/io/cl.html

    Ваша программа должна быть изменена на что-то вроде этого:

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    public class IOTest {
        public static void main(String[] args) {
            System.out.println("请在下面输入一行字符 :\n");
            BufferedReader br;
            String inputLine = "";
            try {
                br = new BufferedReader(new InputStreamReader(System.in));
                inputLine = br.readLine();
            } catch(Exception e) {
                System.out.println("读取输入字符出错,错误信息为 :"+e.toString()+"\n");
            }
            System.out.println("您刚才输入的一行字符为 :\n" + inputLine);
            //    String inputStr=new String(buffer,0);
            //    System.out.println(inputStr);
        }
    }