3
import java.util.Scanner;
public class CourseSplitter {
public static void main(String args[]){
    Scanner keyboard = new Scanner(System.in);
    char[] course; //course code format: ABCDE##
    String code;
    //int num; 
    System.out.println("Input Course: ");
    course = keyboard.next();
    System.out.println(course);
    code = String.copyValueOf(course, 0, 4);
    System.out.println(code);       
   }    
}

文字列の代わりに文字配列を使用しているときに、ユーザーにコースを入力させる方法がわかりません。つまり、文字配列で「スキャナー」を使用するにはどうすればよいですか?

指示は、ユーザーが次の形式でコースコードを入力することです。ABCDE##次に、プログラムはそれをコース名とコース番号に分割する必要があります。そのため、copyValueOfメソッドを使用する必要がありましたが、オンラインで読んだすべての記事から、char []配列を使用しましたが、配列を何らかの値で初期化したため、機能しないようです。そのため、文字配列でスキャナーをどのように使用できるのか疑問に思いました。

4

2 に答える 2

3

スキャナーから文字列を読み取ってから呼び出してみString.toCharArrayませんか?ここにchar配列が必要な理由も明確ではありません...

于 2012-06-19T13:57:31.977 に答える
1

で文字列を直接読み取らないのはなぜscanner.nextLineですか?

import java.util.Scanner;
public class CourseSplitter {
public static void main(String args[]){
    Scanner keyboard = new Scanner(System.in);

    System.out.println("Input Course: ");
    String course = keyboard.nextLine();
    System.out.println(course);
    String code = course.substring(0, 5); //You put 4 but it left out the last letter in the course name. I changed it to 5 and it worked but I'm confused since the index always start with 0.
    System.out.println(code);    
    String num = course.substring(5, 6);
    System.out.println(num);   
   }    
}
于 2012-06-19T13:58:40.553 に答える