文字の完全な行を読み取るために使用したいメソッドに問題があります。readCharArray()メソッドが機能していません
私は私の方法については、以下のパッケージを使用していますまず第一に:
package chararray;
import java.util.*;
import java.util.regex.*;
import java.text.*;
public class Console
{
private static Scanner sc;
private Console()
{
}
public static char[] readCharArray()
throws NoSuchElementException, IllegalStateException
{
sc = new Scanner(System.in);
String text = sc.nextLine();
return text.toCharArray();
}
}
そして、それは私がパッケージを含んでメインのコードです。私のコンパイラ(BlueJ)が私に言っている: "互換性のない型 - 見つかったchar []しかし期待されたchar"。しかし、通常、私のメソッドはchar []のために働くはずですか?私がここで間違っていることは何ですか?この行で
import chararray.Console;
public class kundenverwaltung
{
public static void main (String args[])
{
int nk;
System.out.print("Wie viele Kunden möchten Sie erfassen?: ");
nk = Console.readInt();
char [][] kundenregister;
kundenregister = new char [nk][4];
for (int i = 0; i < nk; ++i)
{
System.out.print("Kundennummer: ");
kundenregister [i][0] = Console.readCharArray();
System.out.print("Name des Kunden: ");
kundenregister [i][1] = Console.readCharArray();
System.out.print("Vorname des Kunden: ");
kundenregister [i][2] = Console.readCharArray();
System.out.print("Adresse des Kunden: ");
kundenregister [i][3] = Console.readCharArray();
}
}
}
@Ordo:文字列を使用しても、文字列の個々の文字や領域にアクセスするには、 'substring()'や 'charAt'などのメソッドを使用できます。 –
はい、これは私がコマンドラインから人の名前、住所などを読んで、クラスを作成し、Stringsを使うことが絶対に重要だと思っているのを見てからです。ここではchar配列では動作しません。 –
ありがとうございます。私はちょうどストリングを使用しており、それは動作します。 – Ordo