小编Eva*_*n F的帖子

在case条件下使用char的switch语句?

我正在尝试编写一个使用char来表示每个case的switch语句.在我的教科书中,示例显示我可以使用char来执行此操作,但是当我编译程序时,我得到了这个:

    StudentInvoiceListMenuApp.java:54: error: incompatible types
        case 'R':
             ^
    required: String
    found:    char
    1 error
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

    switch (inputCode) {

        case 'R':
            System.out.println("\nEnter file name:");
            fileName = menuApp.nextLine();
            if (inputCode.trim().length() == 0) {
                break; // no file name entered
            }
Run Code Online (Sandbox Code Playgroud)

java switch-statement

1
推荐指数
1
解决办法
3492
查看次数

字符串索引超出范围错误7

可能重复:
字符串索引超出范围:n

我正在编写一个程序来根据用户的输入(名字,中间名和姓氏)生成用户名。我应该从每个名称(名字,中间名和姓氏)中获取第一个字符,以及姓氏的最后一个字符,以便生成用户名。我已经成功编写了程序以生成每个名称的第一个字符,但是当我尝试让程序生成姓氏的最后一个字符时,会出现此错误:

线程“主”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:7

at java.lang.String.charAt(String.java:658)
at UsernameGenerator.main(UsernameGenerator.java:39)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

    import java.util.Scanner;
    /**
    UsernameGenerator.java
    Generates a username based on the users inputs.
    @author: Evan Fravert
    */
public class UsernameGenerator {
/**
  * Generates a username based on the users inputs.
  *@param args command line argument
  */
  public static void main(String[] args)
{ // abcde
  String first;
  String middle;
  String last;
  String password1;
  String password2;
  int randomNum;
  randomNum = (int) (Math.random() * 1000) + 100;
  Scanner userInput = new Scanner(System.in);
  System.out.println("Please enter …
Run Code Online (Sandbox Code Playgroud)

java string indexoutofboundsexception

0
推荐指数
1
解决办法
5508
查看次数