javaのプログラム
お忙しい中当質問を閲覧していただきまして、ありがとうございます。
私はjavaを勉強しており、最近javafxとjavaのプログラムを混ぜたプログラミングをしてみたのですが、とあるint変数を代入した際にうまく動かないという問題が発生してしまい、インターネットでも調べてみたのですがなかな分からず悪戦苦闘しております。コードを開示しておりますのでこの問題についての解決策を知っている方がいらっしゃいましたら、貴重なお時間を頂戴してしまって大変申し訳ありませんが、何かアドバイスをいただければと思っておりますのでよろしくお願いいたします。
package
1 2import java.util.Scanner; 3 4import javafx.application.Application; 5import javafx.geometry.Insets; 6import javafx.geometry.Pos; 7import javafx.scene.Scene; 8import javafx.scene.control.Button; 9import javafx.scene.control.Label; 10import javafx.scene.layout.VBox; 11import javafx.scene.text.Font; 12import javafx.stage.Stage; 13 14public class Main extends Application{ 15 public static void main(String [] args) { 16 int pascode = 0234; 17 System.out.println("システムを開くためのパスコードを入力してください"); 18 int pas = String.valueOf(pascode).length(); 19 System.out.println("pascodeは"+pas+"桁です"); 20 Scanner sc = new Scanner(System.in); 21 int sc1 = sc.nextInt(); 22 if(sc1==0234) { 23 System.out.println("パスコードは"+sc+"桁です。"); 24 System.out.println("パスコード"+sc1); 25 System.out.println("システムを起動します"); 26 Application.launch(args); 27 } 28 } 29 @Override 30 public void start(Stage stage) { 31 stage.setTitle("起動しました"); 32 stage.setWidth(540); 33 stage.setHeight(240); 34 Label lb = new Label("hello javafx"); 35 lb.setFont(new Font(80)); 36 37 Button bu = new Button("閉じる"); 38 bu.setPrefWidth(120); 39 bu.setFont(new Font(10)); 40 bu.setOnAction(event->stage.close()); 41 42 VBox root =new VBox(); 43 root.setAlignment(Pos.CENTER); 44 root.setPadding(new Insets(10,10,10,10)); 45 root.setSpacing(20.0); 46 root.getChildren().addAll(lb,bu); 47 48 stage.setScene(new Scene(root)); 49 stage.show(); 50 } 51}
問題点
int 型 pascodeの中に0を含めた数字を入力するとそれら以外の文字数はカウントされるのですが0の部分だけはカウントされず本来であれば4桁と表示してほしいのですがscanner.scに3桁という表示がなされ、javafxのアプリケーションを起動をすることができません。なおpascodeに1234という数字を入力した場合はしっかりと4桁表示されます。
当方まだ初心者のため、なるべくわかりやすい回答をしていただきたく思っておりますのでよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/15 22:35
2019/03/15 22:39