Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法输入2个字符类型变量_Java_Character - Fatal编程技术网

Java 无法输入2个字符类型变量

Java 无法输入2个字符类型变量,java,character,Java,Character,这是我的代码,出于某种原因,它拒绝输入第二个字符并直接跳转到输出。有人能帮忙吗?这是因为br.read()被使用了两次。 您基本上是从控制台读取两个字符 因此,当您在输入第一个字符后按enter键(终止read())时,您将得到以下输出: import java.io.*; public class character { public static void main(String args[])throws IOException { BufferedRe

这是我的代码,出于某种原因,它拒绝输入第二个字符并直接跳转到输出。有人能帮忙吗?

这是因为
br.read()
被使用了两次。 您基本上是从控制台读取两个字符

因此,当您在输入第一个字符后按enter键(终止read())时,您将得到以下输出:

import java.io.*;

public class character 
{
    public static void main(String args[])throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("enter two characters");
        char a=(char)br.read();
        char b=(char)br.read();
        System.out.println("1."+a);
        System.out.println("2."+b);
    }
}

如果输入enter以外的任何内容,它将在
b
中使用该字符

这是因为
br.read()
使用了两次。 您基本上是从控制台读取两个字符

因此,当您在输入第一个字符后按enter键(终止read())时,您将得到以下输出:

import java.io.*;

public class character 
{
    public static void main(String args[])throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("enter two characters");
        char a=(char)br.read();
        char b=(char)br.read();
        System.out.println("1."+a);
        System.out.println("2."+b);
    }
}

如果输入enter以外的任何内容,它将在
b
中使用该字符

我想这可能是把回车键读入你的第二个字符,但不要引用我的话。你可以试试:

a='a';
b=ENTER KEY
是的。。它将回车键的值(13)分配给字符b:

如果您这样做,您将看到:

char a=(char)br.readLine().charAt(0);
char b=(char)br.readLine().charAt(0);
输出:

输入两个字符

a

1.a

2.13


我想可能是把回车键读入了你的第二个字符,但不要引用我的话。你可以试试:

a='a';
b=ENTER KEY
是的。。它将回车键的值(13)分配给字符b:

如果您这样做,您将看到:

char a=(char)br.readLine().charAt(0);
char b=(char)br.readLine().charAt(0);
输出:

输入两个字符

a

1.a

2.13


您编写的代码将从控制台获取前两个字符。这包括空格或换行符。这意味着如果您键入
ab
,第一个字符将是
a
,第二个字符将是空格。

您编写的代码将从控制台获取前两个字符。这包括空格或换行符。这意味着如果键入
ab
,第一个字符将是
a
,第二个字符将是空格

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("enter two characters");
char a=(char)br.read();
char b=(char)br.read();
int c = (int)b;
System.out.println("1."+a);
System.out.println("2."+c);
输入

输入两个字符 一,

因此,当您按enter键终止read()时,您将得到以下输出:

import java.io.*;

public class character 
{
    public static void main(String args[])throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("enter two characters");
        char a=(char)br.read();
        char b=(char)br.read();
        System.out.println("1."+a);
        System.out.println("2."+b);
    }
}
1.1 2.10

这里10来自换行的ASCII值

输入

输入两个字符 一,

因此,当您按enter键终止read()时,您将得到以下输出:

import java.io.*;

public class character 
{
    public static void main(String args[])throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("enter two characters");
        char a=(char)br.read();
        char b=(char)br.read();
        System.out.println("1."+a);
        System.out.println("2."+b);
    }
}
1.1 2.10

这里10来自换行的ASCII值

您应该尝试以下方法:

public class character {
public static void main(String args[]) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("enter two characters");
    char a = (char) br.read();
    char b = (char) br.read();
    int c=(int)b;
    System.out.println("1." + a);
    System.out.println("2." + c);
}
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“输入两个字符”);
整数计数=0;
字符[]个字符=新字符[2];
而(计数<2){
String line=br.readLine();
字符[计数]=行.字符(0);
计数++;
}
System.out.println(字符[0]);
System.out.println(字符[1]);
此代码将读取ENTER键并跳到下一行。通过这种方式,您可以键入两个由ENTER键分隔的字符。

您应该尝试以下方法:

public class character {
public static void main(String args[]) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("enter two characters");
    char a = (char) br.read();
    char b = (char) br.read();
    int c=(int)b;
    System.out.println("1." + a);
    System.out.println("2." + c);
}
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“输入两个字符”);
整数计数=0;
字符[]个字符=新字符[2];
而(计数<2){
String line=br.readLine();
字符[计数]=行.字符(0);
计数++;
}
System.out.println(字符[0]);
System.out.println(字符[1]);

此代码将读取ENTER键并跳到下一行。通过这种方式,您可以键入两个由ENTER键分隔的字符。

但是她调用了两次
read()
方法!!你能解释一下吗?但是她调用了两次
read()
方法!!你能解释一下吗?你好,奇沙!是否要输入字符按enter键,然后输入第二个字符并按enter键?然后看到结果了吗?是的!这正是我需要的。你好,奇沙!是否要输入字符按enter键,然后输入第二个字符并按enter键?然后看到结果了吗?是的!这正是我需要的。这是很大的帮助。非常感谢。这帮了大忙。谢谢。