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

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

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

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

Q&A

解決済

2回答

2394閲覧

読み取る数字を9以下にしたい

nortordam

総合スコア25

Java

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

0グッド

0クリップ

投稿2017/01/11 17:43

編集2017/01/12 04:06

現在私はこういった問題を解いています。
ですがうまくいかず困っています。
具体的に言うと整数を9以下にする方法が分かりません。

**あなたは計算機を作成することになりました。

その計算機は整数 a, b と演算子 p が与えられます。

演算子 p は "+" もしくは "-" が与えられるので、それぞれ a + b 、 a - b を出力して下さい。

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ a ≦ 9
・1 ≦ b ≦ 9
・p は "-" もしくは "+" の1文字**

import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a,b; a = sc.nextInt(); if(a > 10){ a= sc.nextInt(); } b = sc.nextInt(); if(b > 10){ b = sc.nextInt(); } String p = sc.nextLine(); if(p.matches(".*+.*")){ System.out.println(a +b); }else if(p.matches(".*-.*")){ System.out.println(a -b); } } }

よろしくお願いします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/01/11 22:53

以下はそれ自身を含む。
nortordam

2017/01/12 04:06

ありがとうございます編集しました
guest

回答2

0

10以下にするとか、そんな必要はこの手の問題にはありません。
ただ、入力として流れてくる文字列の仕様を言っているだけのことなので、10以上にフィルタをかけるようなことは不要です。

投稿2017/01/11 17:50

swordone

総合スコア20651

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

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

nortordam

2017/01/12 04:10

フィルタをかけていない状態でも間違いの扱いになったので、「これが原因かな?」と思いましたのでこういう題名にしました
guest

0

ベストアンサー

以下のようにすればいいのではないでしょうか

java

1import java.util.*; 2 3public class MPO { 4 public static void main(String[] args) { 5 6 Scanner sc = new Scanner(System.in); 7 int a=0, b=0; 8 9 while (a >= 10 || a<1) { 10 System.out.print("数1[10未満1以上]:"); 11 String a1 = sc.next(); 12 try{ 13 a=Integer.parseInt(a1); 14 }catch(Exception e){} 15 } 16 17 while (b >= 10 || b<1) { 18 System.out.print("数2[10未満1以上]:"); 19 String b1 = sc.next(); 20 try{ 21 b=Integer.parseInt(b1); 22 }catch(Exception e){} 23 } 24 25 while (true) { 26 System.out.print("算術演算子:"); 27 String p = sc.next(); 28 29 if (p.equals("+")) { 30 31 System.out.println(a + b); 32 break; 33 } else if (p.equals("-")) { 34 System.out.println(a - b); 35 break; 36 } 37 38 } 39 } 40}

投稿2017/01/11 18:03

編集2017/01/11 18:16
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

nortordam

2017/01/12 04:21

ありがとうございます。try文で例外処理をすればよかったのかと、腑に落ちました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問