javaの課題で正の整数を入力したらその数を花文字に変換するという課題が出ました。1~9の数字を花文字として表せるようにしましたが、そのプログラムを実行すると入力した数字と違う数字が花文字で出力します。どこがおかしいのか教えてもらえませんか? 下のは自分の書いたプログラムです。
package ensyuu5;
import java.util.Scanner;
import javax.swing.plaf.basic.BasicComboBoxUI.ItemHandler;
import javax.xml.namespace.QName;
class ensyuu5 {
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
int num;
do{
System.out.print("正の整数(最大8桁)を入力してください:");
num = stdIn.nextInt();
}while( num < 0 || num > 99999999);
int count = String.valueOf( num ).length();
for (int c = count,keta = num; c >= 1; c--){
keta = (keta / 10 ^ (c - 1));
if (keta % 10 == 0 || keta % 10 == 2 || keta % 10 == 3 || keta % 10 == 5 || keta % 10 == 6 || keta % 10 == 7 || keta % 10 == 8 || keta % 10 == 9){
System.out.print(" **** ");
}
else if (keta % 10 == 1){
System.out.print(" ** ");
}
else if (keta % 10 == 4){
System.out.print(" * * ");
}
}
System.out.println();
for (int c = count,keta = num; c >= 1; c--){
keta = (keta / 10 ^ (c - 1));
if (keta % 10 == 0 || keta % 10 == 8 || keta % 10 == 9){
System.out.print(" * * ");
}
else if (keta % 10 == 1){
System.out.print(" * ");
}
else if (keta % 10 == 2 || keta % 10 == 3 || keta % 10 == 7){
System.out.print(" * ");
}
else if (keta % 10 == 4){
System.out.print(" * * ");
}
else if (keta % 10 == 5 || keta % 10 == 6){
System.out.print(" * ");
}
keta = num;
}
System.out.println();
for (int c = count,keta = num; c >= 1; c--){
keta = (keta / 10 ^ (c - 1));
if (keta % 10 == 0){
System.out.print(" * * ");
}
else if (keta % 10 == 1){
System.out.print(" * ");
}
else if (keta % 10 == 8 || keta % 10 == 3 || keta % 10 == 4 || keta % 10 == 5 || keta % 10 == 6 || keta % 10 == 2 || keta % 10 == 9){
System.out.print(" **** ");
}
else if (keta % 10 == 7){
System.out.print(" * ");
}
keta = num;
}
System.out.println();
for (int c = count,keta = num; c >= 1; c--){
keta = (keta / 10 ^ (c - 1));
if (keta % 10 == 0 || keta % 10 == 8 || keta % 10 == 6){
System.out.print(" * * ");
}
else if (keta % 10 == 1 || keta % 10 == 4){
System.out.print(" * ");
}
else if (keta % 10 == 2){
System.out.print(" * ");
}
else if (keta % 10 == 3 || keta % 10 == 5 || keta % 10 == 9 || keta % 10 == 7){
System.out.print(" * ");
}
keta = num;
}
System.out.println();
for (int c = count,keta = num; c >= 1; c--){
keta = (keta / 10 ^ (c - 1));
if (keta % 10 == 0 || keta % 10 == 1 || keta % 10 == 2 || keta % 10 == 3 || keta % 10 == 5 || keta % 10 == 6 || keta % 10 == 8 || keta % 10 == 9){
System.out.print(" **** ");
}
else if (keta % 10 == 4){
System.out.print(" * ");
}
else if (keta % 10 == 7){
System.out.print(" * ");
}
keta = num;
}
}
}
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
import java.util.Scanner;
import javax.swing.plaf.basic.BasicComboBoxUI.ItemHandler;
import javax.xml.namespace.QName;
class ensyuu5 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int num;
do {
System.out.print("正の整数(最大8桁)を入力してください:");
num = stdIn.nextInt();
} while (num < 0 || num > 99999999);
int count = String.valueOf(num).length();
for (int c = count, keta = num; c >= 1; c--) {
keta = (keta / (int) Math.pow(10, c - 1));
if (keta % 10 == 0 || keta % 10 == 2 || keta % 10 == 3 || keta % 10 == 5 || keta % 10 == 6 || keta % 10 == 7
|| keta % 10 == 8 || keta % 10 == 9) {
System.out.print(" **** ");
} else if (keta % 10 == 1) {
System.out.print(" ** ");
} else if (keta % 10 == 4) {
System.out.print(" * * ");
}
keta = num;
}
System.out.println();
for (int c = count, keta = num; c >= 1; c--) {
keta = (keta / (int) Math.pow(10, c - 1));
if (keta % 10 == 0 || keta % 10 == 8 || keta % 10 == 9) {
System.out.print(" * * ");
} else if (keta % 10 == 1) {
System.out.print(" * ");
} else if (keta % 10 == 2 || keta % 10 == 3 || keta % 10 == 7) {
System.out.print(" * ");
} else if (keta % 10 == 4) {
System.out.print(" * * ");
} else if (keta % 10 == 5 || keta % 10 == 6) {
System.out.print(" * ");
}
keta = num;
}
System.out.println();
for (int c = count, keta = num; c >= 1; c--) {
keta = (keta / (int) Math.pow(10, c - 1));
if (keta % 10 == 0) {
System.out.print(" * * ");
} else if (keta % 10 == 1) {
System.out.print(" * ");
} else if (keta % 10 == 8 || keta % 10 == 3 || keta % 10 == 4 || keta % 10 == 5 || keta % 10 == 6
|| keta % 10 == 2 || keta % 10 == 9) {
System.out.print(" **** ");
} else if (keta % 10 == 7) {
System.out.print(" * ");
}
keta = num;
}
System.out.println();
for (int c = count, keta = num; c >= 1; c--) {
keta = (keta / (int) Math.pow(10, c - 1));
if (keta % 10 == 0 || keta % 10 == 8 || keta % 10 == 6) {
System.out.print(" * * ");
} else if (keta % 10 == 1 || keta % 10 == 4) {
System.out.print(" * ");
} else if (keta % 10 == 2) {
System.out.print(" * ");
} else if (keta % 10 == 3 || keta % 10 == 5 || keta % 10 == 9 || keta % 10 == 7) {
System.out.print(" * ");
}
keta = num;
}
System.out.println();
for (int c = count, keta = num; c >= 1; c--) {
keta = (keta / (int) Math.pow(10, c - 1));
if (keta % 10 == 0 || keta % 10 == 1 || keta % 10 == 2 || keta % 10 == 3 || keta % 10 == 5 || keta % 10 == 6
|| keta % 10 == 8 || keta % 10 == 9) {
System.out.print(" **** ");
} else if (keta % 10 == 4) {
System.out.print(" * ");
} else if (keta % 10 == 7) {
System.out.print(" * ");
}
keta = num;
}
}
}
このようにすれば動きます
なぜ動かなかったのかは自分で考えてみてください
無駄をなくしたverも添えておきますので勉強の役に立ててください
https://harigami.net/cd?hsh=01ae3482-b088-4014-8 …
また何か分からないことがあったら気軽に聞いて下さい
No.3
- 回答日時:
描画カーソルを移動できない環境向けならば、
繰り返し処理を工夫して行ごとに描画しましょう。
for (行=0; 行<幅; 行++) {
_ for (字=0; 字<字数; 字++) {
_ _ for (桁=0; 桁<幅; 桁++) {
_ _ _ 数 = 入力値から指定した位の数を取得(字)
_ _ _ 点 = 数を表す字形にて指定位置の点灯有無を判定(数, 桁, 行)
_ _ _ 出力(点? "*": " ")
_ _ }
_ _ 出力(文字間隔)
_ }
_ 出力(改行)
}
No.2
- 回答日時:
> 花文字というのは「*」このマークで表すことです。
何?それをキミが通ってる学校では「花文字」って呼んでるの?
なんつーローカル定義だ・・・・・・。
正式名称は「アスタリスク」だ。覚えておいた方がいいだろう。
> 例えば2だったら
なるほど。
でもそれだけじゃあ全然足りない。
0〜9の全部の定義を出さないと他人が見てどーの、とは言えないよ。
こういうのは定義次第、なんだ。
No.1
- 回答日時:
うん、その前にだな。
「花文字」って何?
どう考えても一般的な用法に思えないんだけど。
花文字とは:
http://hanamoji.info/index.php?%E8%8A%B1%E6%96%8 …
そこが他人に分かるようにキチンと説明出来なければ、「どこがおかしいのか」なんか答えようがない。
だって何が正解なんだかサッパリ分かんないんだもん。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
【お題】・忍者がやってるYouTubeが炎上してしまった理由
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
【お題】追い込まれた犯人が咄嗟に言った一言とは?
-
java 乗算をシフト演算と加算を割り算で表現する方法
Java
-
べき乗
Java
-
C言語での数字の花形表示
C言語・C++・C#
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
テキストボックスに入力された...
-
javaです。1月1日から日数入れ...
-
論理演算子”||”またはの入力方法
-
java キーボード入力された値の...
-
DataGridView.Sortに入れる引き数
-
Java 入力した整数値の合計を、...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
数値⇒漢数字変換 java
-
配列を逆順させて表示させる方...
-
学校で課題を出されて困ってい...
-
総称型ArrayList<E>への参照...
-
Java キーボードから負の数が入...
-
System.err. printlnとSystem.o...
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
0dの意味を教えてください
-
IF関数でEmpty値を設定する方法。
-
flush()とclose()について
-
実数からの小数部の取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
論理演算子”||”またはの入力方法
-
java キーボード入力された値の...
-
テキストボックスに入力された...
-
JAVAのfor文で困っています。
-
Randomメソッドの確率設定
-
Java 入力した整数値の合計を、...
-
数値⇒漢数字変換 java
-
コマンドライン引数の例外処理...
-
countに実行した回数をいれたい...
-
要素数が10の配列で、乱数0~9...
-
javaが上手くいきません
-
(急いでいます)Javaで3回間違...
-
javaのプログラム
-
配列を逆順させて表示させる方...
-
Java、2の0乗~10乗の表示
-
7つ数字を表示したら改行すると...
-
javaです。 途中まで出来ている...
-
総称型ArrayList<E>への参照...
おすすめ情報
花文字というのは「*」このマークで表すことです。例えば2だったら
****
*
****
*
****
といった感じです