質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

1063閲覧

javaとjavafxでのプログラムについて

yassan19

総合スコア19

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2019/03/15 17:50

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桁表示されます。
当方まだ初心者のため、なるべくわかりやすい回答をしていただきたく思っておりますのでよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

int pascode = 0234;

整数として定義しているため、最初の0は無視されます

#もしかしたら8進数?-->ああ、もしかしなくても8進数表記だわ。

ということで、ここは

String pascode="0234";

と文字列で定義するようにしましょう

投稿2019/03/15 21:46

編集2019/03/15 22:06
y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yassan19

2019/03/15 22:35

ありがとうございます、さっそく試してみたところ無事にエラーもなく実行できました。ベストアンサーとさせていただきます。
yassan19

2019/03/15 22:39

分かりましたもう少し勉強しておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問