目次:
ビデオ: 【Selenium 動画デモ】要素に表示されているinnerTextを取得する 2024
Java 1. 5まで、コンソールベースのJavaプログラムでユーザーからのテキスト入力を取得することは容易ではありませんでした。しかし、Java 1.5では、ユーザーからの入力を簡単にするために、
Scanner
という新しいクラスが導入されました。ここでは、
Scanner
クラスを使用して、ユーザーから単純な入力値を取得します。私がここに示したテクニックは、この本の残りの部分で示されている多くのプログラムで使用されています。
Scanner
クラスが使用されているため、古いバージョンのJavaを使用している場合は、これを読んでください。
以下の簡単なプログラムは、
Scanner
クラスを使用してユーザーから整数値を読み込み、その値をコンソールに表示して、ユーザーが入力した値をプログラムが受け取ったことを確認します。このプログラムのコンソールウィンドウのサンプルは次のとおりです。
<! -
5 5を入力しました。
最初の行に
整数を入力:
というメッセージを表示してプログラムを開始します。それからあなたは番号を入力するのを待ちます。数字(5など)を入力してEnterキーを押すと、2行目に確認メッセージ(
5
を入力したもの)が表示されます。
import java。 util。スキャナ;
@@ ra1 <! - 3 - >
{静的スキャナsc =新しいスキャナ(システムイン);
@@ ra6
public static void main(String [] args) {
システム。でる。 print( "整数を入力:");
@ ra10
int x = sc。 nextInt(); @ ra11
システム。でる。 println( "あなたは" + x + "を入力しました。"); @@ ra12
} }
JavaでのScannerクラスの読み込み
プログラムで
Scanner
クラスを使用する前に、読み込む必要があります。これを行うには、プログラムの先頭、クラス宣言の前に
import
ステートメントをコーディングします。
import java。 util。スキャナ;
java
と
util
は大文字ではなく、
スキャナ
であることに注意してください。
他のクラスを
javaで使用している場合。 util
パッケージの場合は、
import
ステートメント
import javaをコーディングしてパッケージ全体をインポートすることができます。 util。 *;
JavaでのScannerオブジェクトの宣言と作成
Scanner
クラスを使用してコンソールから入力を読み取るには、
Scanner
変数を宣言してインスタンスを作成する必要があります
Scanner
クラスの一部です。
Scanner
変数をクラス変数として作成し、クラス変数初期化子で
Scanner
オブジェクトを作成することができます。 sc =新しいスキャナ(システムイン)。
そのようにして、クラスのどのメソッドでも
sc
変数を使用できます。
Scanner
オブジェクトを作成するには、
新しい
キーワードの後に
Scanner
クラスコンストラクタを呼び出します。
Scanner
クラスには、入力が出る
入力ストリーム
を示すパラメータが必要であることに注意してください。
システムを使用できます。ここで は標準のキーボードコンソール入力を指定します。 入力の取得
ユーザーからの入力値を読み取るには、
Scanner
クラスのメソッドの1つを使用できます。ご覧のとおり、プリミティブデータ型には別のメソッドがあります。
入力値を取得するスキャナクラスメソッド
メソッド
説明
ユーザーから | ブール値 |
を読み取ります。
|
byte nextByte()
ユーザーから
バイト |
値を読み取ります。
|
double nextDouble()
ユーザーから
倍精度値を読み取ります。 |
float nextFloat()
|
ユーザーから
float
値を読み取ります。 |
int nextInt()
|
ユーザーから
int
値を読み取ります。 |
String nextLine()
|
ユーザーから
String
値を読み取ります。 |
long nextLong()
|
ユーザーから
長い
値を読み取ります。 |
short nextShort()
|
ユーザーから
短い
値を読み取ります。 |
表の最初の列には、各メソッドリストが、メソッドによって返される値の型で始まることに注目してください。例えば、
|
nextInt
メソッドは、
int |
の値を返します。また、各メソッドは空の括弧で終了することに注意してください。つまり、これらのメソッドはパラメータを必要としません。メソッドにパラメータが必要な場合は、これらのカッコ内にパラメータがリストされます。
これらのメソッドはユーザーから値を読み取り、値を返すので、値を変数に割り当てるステートメントでそれらのメソッドを使用することがよくあります。たとえば、11行目は
int
を読み取り、
x
という名前の変数に割り当てます。
nextInt
メソッドが実行されると、プログラムはユーザがコンソールウィンドウに値を入力するのを待ちます。プログラムにどのような入力が期待されているかをユーザーに知らせるには、通常、
システムを呼び出す必要があります。でる。
Scanner
メソッドを呼び出して入力を取得する前に、print
メソッドを呼び出してください。 10行目は
Systemを呼び出します。でる。メッセージを表示するには
を印刷します。
コンソールに整数を入力します。このようにして、ユーザはプログラムが入力を待っていることを知ることができます。
ユーザーが正しいタイプに変換できない値を入力すると、プログラムがクラッシュします。つまり、突然終了します。プログラムがクラッシュすると、何が失敗の原因かを示す謎のエラーメッセージが表示されます。たとえば、実際の数値の代わりに
3
を入力すると、コンソールウィンドウは次のようになります。
整数を入力:
util。 InputMismatchException
at java。 util。スキャナ。 throwFor(スキャナ:java:819)
at java。 util。スキャナ。 next(Scanner。java:1431)
at java。 util。スキャナ。 nextInt(Scanner。java:2040)
at java。 util。スキャナ。 nextInt(Scanner。java:2000)
ScannerAppでmain(ScannerApp。java:11) このメッセージは、 InputMismatchException
という
例外
が発生したことを示しています。 。プログラムがより親切なメッセージを表示し、正しい値を入力する際に別のショットをユーザに与えるように、これらのような例外をどのように提供するのか分からなければ、ユーザが間違ったデータを入力した場合、あなたのプログラムは異常にクラッシュします。
次の入力をテストして有効であることを確認するために、ここにリストされているメソッドの1つを使用して、
nextInt
および類似のメソッドが誤った入力データでクラッシュするのを防ぐことができます。 有効な入力値をチェックするスキャナクラスメソッド メソッド
説明
boolean hasNextBoolean()
ユーザーが入力した次の値が有効な< ブール値
値。
boolean hasNextByte()
バイト | 値である場合、 |
true
|
を返します。
boolean hasNextDouble()
ユーザーが入力した次の値が有効な
double
値である場合、 |
true
|
を返します。
boolean hasNextFloat()
ユーザーが入力した次の値が有効な
浮動小数点
値である場合、 |
true
|
を返します。
boolean hasNextInt()
ユーザーが入力した次の値が有効な
int
値である場合、 |
true
|
を返します。
boolean hasNextLong()
ユーザーが入力した次の値が有効な
長い
値である場合、 |
true
|
を返します。
boolean hasNextShort()
ユーザーが入力した次の値が有効な
短い
値である場合、 |
true
|
を返します。
|