Javaプログラムの割り勘計算

このQ&Aのポイント
  • キーボードから総金額と人数を入力し、割り勘の計算をするプログラムを作成します。
  • 割り算を使わずに割り勘の計算を行い、金額と人数は1円以上であるとします。
  • 割り勘の実行例を示し、計算結果と余りを出力します。
回答を見る
  • ベストアンサー

Javaプログラムについて質問です\0><0/

Javaプログラムについて質問です\0><0/ よろしくお願いします。 キーボードから総金額と人数を入力し,割り勘の計算をするプログラムを,割り算を使わずに作成したいのですが、余りも計算して出力するので 金額と人数は,一人当たり1円以上に割り勘できるような数値が入力されるものとしていいので、 総金額は(円)?:10000 人数は(人)?:5 一人当たり 2000 円で割り勘です. 余りは 0 円です. 総金額は(円)?:10000 人数は(人)?:6 一人当たり 1666 円で割り勘です. 余りは 4 円です. といった実行例にしたいのですが割り算を使えれば import java.io.*; class Wari { public static void main(String [] args)throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("総金額は(円):"); String temp=br.readLine(); int num=Integer.parseInt(temp); System.out.println("人数は?:"); temp=br.readLine(); int sum=Integer.parseInt(temp); System.out.println("一人当たり"+num/sum+"円で割り勘です"); System.out.println("余は"+num%sum+"円です"); } } と書けばできるのはわかるのですが... 割り算を使わないでとなるとどういう考えかたをしたら良いのかさっぱりアイデアが浮かびません。 教えて下さい><

  • Java
  • 回答数2
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.2

10000円(総額)から6円(人数)を引き続けて何回引けるかをカウントすれば一人当たりの金額になる。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ひきざん

関連するQ&A

  • 今勉強中のjavaで。わからないことがあります。

    import java.io.*; class Ireru { public static void main(String args[]) throws IOException{ System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); int num =Integer.parseInt(str1); System.out.println("あなたは" + num +"歳です。"); } } ------------------------------- import java.io.*; class Ireru { public static void main(String args[]) throws IOException{ System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("あなたは" + str1 +"歳です。"); } } なぜ下では悪いのですか?なぜnum をつかないといけないかがわかりません。正確には str1とnumの違いがわからなくて困っています。何が混乱の原因ですか?

    • ベストアンサー
    • Java
  • Javaのプログラムで・・・

    Javaのプログラムで1~20までの整数乱数を実行後に指定回数だけ発生させ、そのうち何%が奇数であったかを表示するプログラムを作成中です。 乱数を発生させるところまでは行ったのですがここからどのように計算していくのかわかりません。 以下が作成したものですがアドバイスお願いします。 import java.io.*; public class Rand { public static void main(String args[]) throws IOException { System.out.print("発生させる乱数の回数は?"); BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num= Integer.parseInt(str); for(int i=1;i<=num;i++){ int a=(int)(20*Math.random()+1); System.out.println(a); } for(int a=1; a<=;a++){ if(a%2==1); System.out.println("発生した乱数の"++"%が奇数です。"); } } }

  • javaについて・・・

    このように出力されるプログラムを考えています ↓ 受験者人数を入力してください 3 3人分の点数を入力してください 50 80 20 1人目の点数は50です 2人目の点数は80です 3人目の点数は20です 最高点は80です っという感じのプログラムを考えています。 そしていまここまでプログラムを書いたのはいいのですが 感じんの最高点が表示されません・・・ import java.io.*; class test{ public static void main(String[] args) throws IOException{ System.out.println("テストの受験者数を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str =br.readLine(); int num = Integer.parseInt(str); int test[] = new int[num]; int max=0; System.out.println(test.length +"人の点数を入力してください"); for(int i=0; i<num; i++){ String str1 = br.readLine(); test[i] = Integer.parseInt(str1); } for(int i=0; j<num; i++){ System.out.println((i+1)+"番目の人の点数は"+ test[i]+"です。"); if(test[i]>max){ max=test[i]; } } System.out.println("最高点は" +max+ "です。"); } } どこをどのように直せば最高点が表示されるようになるでしょうか? ご指摘おねがいします。

  • Java for文

    for文について、キーボードで入力して、その数が素数(1またはその数以外で割り切れない数)であるかを判断するコードですが、for文とif文の関係が良くわかりません。ご教示ください。 <サンプル> public static void main(String[] args) throws IOException{ System.out.println("2以上の整数を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); ※1 for(int i=2; i<=num; i++){ if(i == num){ System.out.println(num + "は素数です。"); ※2 }else if(num % i == 0){ System.out.println(num + "は素数ではありません。"); break; ※1と※2の処理について初心者でもわかるような解説をおねがいできますでしょうか? よろしくお願いいたします。

  • 初心者Javaの件。

    いつも大変お世話になりありがとうございます。 次の2つのコードは関係があるのでしょうか? 2つを合体させないとプログラムがエラーになるのでしょうか? 私は合体させないとプログラムが成立しないと思います。 アドバイスのほど宜しくお願い申し上げます。 コード1 public class Person { private int age; private double weight; private double height; public Person(int age, double weight, double height) { this.age = age; this.weight = weight; this.height = height; } public void show() { System.out.println("年齢は" + age + "体重は" + weight + "身長は"+ height +"です。" ); } } コード2 import java.io.BufferedReader; public class Sample3 { { public static void main(String args[]) throws Exception { person p[]; System.out.println("人数を入力してください。"); BufferedReader br = new BufferedReader(new inputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); p = new Person[num]; for(int i=0; i<num; i++) { } System.out.println("年齢を入力してください"); str = br.readLine(); int age = Integer.parseInt(str); P = new Person[num]; for(int i=0; i<num; i++){ System.out.println("年齢を入力してください"); str = br.readLine(); int age = Intger.parseInt(str); System.out.println("体重を入力してください"); str = br.readLine(); double weight = Double.parseDouble(str); System.out.println("身長を入力してください"); str = br.readLine(); double height = Double.parseDouble(str); p[i] = new person(age, weight, height); } for(int i=0; i<num; i++) { p[i].show(); } } }

    • ベストアンサー
    • Java
  • Javaで計算

    Javaを10月から始めた初心者です。 摂氏から華氏に変えるプログラムを作成したいのですが、結果が合いません。 計算の所のプログラムが間違っているのだと思うのですが、どうすれば良いのか分からないので教えてください。 import java.io.*; class quiz01{ public static void main(String[] args) throws IOException{ System.out.println("摂氏の温度℃を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); int F = 9/5*num+32; System.out.println("華氏の温度Fは " + F + " です。"); } } よろしくお願いします!

    • ベストアンサー
    • Java
  • コンパイル時のエラーについて

    Java超初心者の者です。 下記のコードどこか間違っていますか? class Sample4 { public static void main(String args[]) throws IOException { System.out.println("いくつまでの合計を求めますか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); int sum = 0; for(int i=1; i<=num; i++){ sum += i; } System.out.println("1から" + num + "までの合計は"      + sum + "です。"); } } テキスト通りに入力したつもりなのに何度確認して入力し直しても、 『'class'または'interface'がありません。』というエラーが 出てしまうのですが・・・ 色々ネットで検索して調べたのですが、分らなくて。

    • ベストアンサー
    • Java
  • JAVAのプログラムについて

    独学でJAVAを勉強中なのですが、 import java.io.*; public class ExserciseD5L3_2{ public static void main(String args[]){ BufferedReader br = new BufferedReader(newInputStreamReader(System.in),1); try{ System.out.println("■■■計算クイズ■■■"); System.out.println("計算してください。"); String Que[] = {"10×50=?","21-7=?","360÷6=?"}; int Ans[] = {500,14,60}; int counter; for(counter = 0; counter <=2; counter++ ){ System.out.println(Que[counter]); System.out.println("答えは?"); String str = br.readLine(); int i = Integer.parseInt(str); if(i == Ans[counter]){ System.out.println("おめでとう!大当たりです。"); } else{ System.out.println("残念!答えは"+Ans[counter]+"です。"); } } } catch(IOException e){ System.out.println("IOエラーが発生しました。"); } catch(NumberFormatException ne){ System.out.println("入力された数値が正しくないようです。"); } } } これを実行すると ■■■計算クイズ■■■ 計算してください。 10×50=? 答えは? 500 おめでとう!大当たりです。 21-7=? 答えは? 14 おめでとう!大当たりです。 360÷6=? 答えは? 60 おめでとう!大当たりです。 となるのですが、これに おめでとう!正解数は3つです。とか正解数は2つですなどのように 正解数も出るようにするにはどのようにしたらいいのでしょうか?

    • ベストアンサー
    • Java
  • javaに関する質問

    IT関係のスクールに通っていて、javaの勉強をしている人間です。javaに関して、ご質問があります。授業で課題を出されたのですが、どうしても行き詰っています。 問題は次のような内容です。 ・店別売上高表の作成 店番号と売上高を入力して、店ごとの売上を表示する表を作成するプログラムを作りましょう。 条件;(1)店番号は1~8までとしてください。 (2)入力処理は繰り返しできるようにしてください。 (3)売上1,000,000分に対して、*(アスタリスク)を1個表示させるようにしてください。 (4)表示する*が60個以上の場合は、60個だけ表示するようにしてください。 (5)全店舗の合計売上高も表示するようにしてください。 上の5つの条件を満たして下記の実行画面が表示させるようにします。 --------------------------------------------------------------- 店番号を入力してください(1~8) 2 売上高を入力してください(<99999999) 22222222 入力を続けますか yes...1,no...other number 1 店番号を入力してください(1~8) 5 売上高を入力してください(<99999999) 55555555 入力を続けますか yes...1,no...other number 2            店別売上高表         ---+---+---+---+---+---+---+---+---+---+---+---+ 1号店 0 2号店 22222222 ********************** 3号店 0 4号店 0 5号店 55555555 *************************************** 6号店 0 7号店 0 8号店 0 売上  77777777 -------------------------------------------------------------- という問題です。途中までの僕のやり方は import java.io.*; class A { public static void main(String args[])throws IOException{ BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); do{ System.out.println("店番号を入力してください(1~8)"); String str1=br.readLine(); int num; if(num>=1 && num<=8) num=Integer.parseInt(str1); } System.out.println("売上高を入力してください (<99999999)"); String str2=br.readLine(); if(uriage<99999999) uriage=Integer.parseInt(str2); } System.out.println("入力を続けますかyes...1,no...other number"); flag=Integer.parseInt(br.readLine()); }while(flag==1); System.out.println(" 店別売上高表 "); System.out.println("--+---+---+---+---+---+---+---"); for(int i=0;i<8;i++){ System.out.println((i+1)+"号店"); }}} do~while文が終わった後、店番号の右に売上高とアスタリスクを表示させるためには、どうしたらいいのでしょうか?どなたか、もしよろしければ教えていただけないでしょうか?よろしくお願いします。

  • javaのプログラムの質問です。

    10件まで登録できる簡易メモリストを作成して下さい 実行例: > java MemoList > コマンドを入力して下さい:list 1:俺達がガンダムだ! 2:ザクとは違うのだよザクとは! 3:当たらなければどうという事はない! コマンド list メモリストを1~の番号と共に表示 add メモを追加 del メモ番号を入力して削除 upd メモ番号を入力して上書き save ファイルに保存 h コマンド一覧を表示 q 終了 注意点 ・プログラム起動時にファイルからメモリストを読み込んで下さい ・保存するファイルは任意の固定ファイルで構いません ・メモは1~の連番で10件まで登録可能として下さい ・終了のコマンドが入力されるまで何度でもコマンド入力可能として下さい ・JavaDoc/プログラムコメントはしっかり記述して下さい ・エラー発生時は適切なメッセージを標準出力に出力して下さい という問題なのですが、以下のソースでとりあえずは動くのですが。 import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.ArrayList; class MemoList{ /** * メインメソッド **/ public static void main(String[] args) throws IOException { // Fileクラスのインスタンス化 File file1 = new File("C:\\WORK\\Memo.txt"); // FileReaderクラスのインスタンス化 FileReader filereader = new FileReader(file1); // FileWriterクラスのインスタンス化 FileWriter filewriter = new FileWriter(file1); // BufferedReader&InputStreamReaderクラスのインスタンス化 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ArrayList <String> arraylist = new ArrayList<String>(); int num = 1; // while文ループを行う while(true){ System.out.println("> コマンドを入力して下さい:"); String str1 = br.readLine(); if("list".equals(str1)){    for(int i=0; i < arraylist.size(); i++){      System.out.println(i + 1 + ":" + arraylist.get(i));    } } else if("add".equals(str1)){ System.out.println("> メモを入力して下さい。"); if(arraylist.size() == 10){    System.out.println("> 10件登録されています。追加する場合は削除して下さい。");    delete(br,arraylist); }else{ String str2 = br.readLine(); arraylist.add(str2); } }else if("del".equals(str1)){ delete(br,arraylist); }else if("upd".equals(str1)){ System.out.println("> 上書きするメモ番号を入力して下さい。"); try{   String str4 = br.readLine();   int num2 = Integer.parseInt(str4);   System.out.println("> 上書きする内容を入力して下さい。");    String str5 = br.readLine();   arraylist.set(num2 - 1,str5); }catch(NumberFormatException e){ System.out.println("正しい番号を入力して下さい"); }catch(IndexOutOfBoundsException e){ System.out.println("正しい番号が入力されていないので上書き出来ません"); } (1)}else if("save".equals(str1)){ try{ for(int j=0; j < arraylist.size(); j++){ filewriter.write(arraylist.get(j) + "\r\n"); } System.out.println(">ファイルに保存しました。"); filewriter.close(); }catch(IOException e){ (2) System.out.println("ファイルに保存出来ません"); (3) } }else if("h".equals(str1)){ System.out.println("list:メモリストを1~の番号と共に表示"); System.out.println("add:メモを追加"); System.out.println("del:メモ番号を入力して削除"); System.out.println("upd:メモ番号を入力して上書き"); System.out.println("save:ファイルに保存"); }else if("q".equals(str1)){    System.out.println("> Terminated");    break; } } } // deleteメソッド public static void delete(BufferedReader br,ArrayList<String> arraylist) throws IOException { try{   System.out.println("削除するメモ番号を入力して下さい");   String str3 = br.readLine();   int num3 = Integer.parseInt(str3);   arraylist.remove(num3 - 1); }catch(IndexOutOfBoundsException e){     System.out.println("正しい番号を入力して下さい"); }catch(NumberFormatException e){    System.out.println("正しい番号以外は受け付けません"); } } } 読みにくいのはご容赦ください。 (1)と(3)の間の処理なのですが、現在のソースで実行した場合、適当に「add」でメモを書き、最初に「save」コマンドを入力するとちゃんとWORKフォルダ内に作成した「Memo.txt」に保存されます。しかし、2回目以降、コマンドを入力して処理を行い、saveコマンド入力すると、例外処理となり(2)が表示され、以降はどのコマンド処理をしても(2)が表示され続けるという具合になってしまいます。どなたか教えていただけないでしょうか?よろしくお願い致します。 通報する

    • ベストアンサー
    • Java

専門家に質問してみよう