从扫描仪中获取一个字符输入

142

我正在尝试找到一种从键盘输入 char 的方法。

我尝试使用:

Scanner reader = new Scanner(System.in);
char c = reader.nextChar();

这个方法不存在。

我尝试将c作为String。然而,在每种情况下它并不总是起作用,因为我从我的方法中调用的另一个方法需要一个char作为输入。因此,我必须找到一种明确地以字符形式作为输入的方法。

有什么帮助吗?

24个回答

-3

只需使用...

Scanner keyboard = new Scanner(System.in);
char c = keyboard.next().charAt(0);

这会获取下一个输入的第一个字符。


-3
你可以使用类型转换:
Scanner sc= new Scanner(System.in);
char a=(char) sc.next();

通过函数 'next()',您将以字符串形式获取输入,但由于括号中提到了 'char',它将被转换为字符。

通过在括号中指定目标数据类型来实现数据类型转换的这种方法称为类型转换。它适用于我,希望对您也有用 :)


你不能将 String 强制转换为 char - Stephen C

-4
要在给定字符串中查找字符的索引,您可以使用以下代码:
package stringmethodindexof;

import java.util.Scanner;
import javax.swing.JOptionPane;

/**
 *
 * @author ASUS//VERY VERY IMPORTANT
 */
public class StringMethodIndexOf {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        String email;
        String any;
        //char any;

//any=JOptionPane.showInputDialog(null,"Enter any character or string to find out its INDEX NUMBER").charAt(0);       
//THE AVOBE LINE IS FOR CHARACTER INPUT LOL
//System.out.println("Enter any character or string to find out its INDEX NUMBER");
       //Scanner r=new Scanner(System.in);
      // any=r.nextChar();
        email = JOptionPane.showInputDialog(null,"Enter any string or anything you want:");
         any=JOptionPane.showInputDialog(null,"Enter any character or string to find out its INDEX NUMBER");
        int result;
        result=email.indexOf(any);
        JOptionPane.showMessageDialog(null, result);

    }

}

-8

最简单的方法是,首先将变量更改为字符串,并将输入作为字符串接受。然后,您可以根据输入变量使用if-else或switch语句进行控制,如下所示。

Scanner reader = new Scanner(System.in);

String c = reader.nextLine();
switch (c) {
    case "a":
        <your code here>
        break;
    case "b":
        <your code here>
        break;
    default: 
        <your code here>
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接