• ベストアンサー

プログラムの組み合わせ方

java初心者です。 2つのプログラムを組み合わせて1つのプログラムにしたいんですが、イマイチ分かりません。 このプログラムと、 import java.io.*; class Hello2 {  public static void main(String[] args) throws IOException {   System.out.println("名前を入力してください");   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   String str = br.readLine();   System.out.println(str + "さん、こんにちは!");  } } このプログラムを、 import java.io.*; class Sanbai{  public static void main(String[] args) throws IOException {   System.out.println("好きな数を入力してください");   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   String str = br.readLine();   int x;   x = Integer.parseInt(str);   System.out.println("あなたの入力した数:" + x);   System.out.println("その3倍の数:" + (x*3));  } } 組み合わせて1つのプログラムにするにはどうしたらいいですか?(>_<)

  • Java
  • 回答数4
  • ありがとう数3

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

  • ベストアンサー
  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.1

>2つのプログラムを組み合わせて1つのプログラムにしたいんですが、イマイチ分かりません。 「組み合わせる」と言ってもいろいろ方法があります。 1つのプログラムにしたとして、具体的にどういう動きをするプログラムを考えているのでしょうか? それが分からないとどう組み合わせるか何とも言えません。 補足をお願いします。

kz_003
質問者

補足

回答ありがとうございます。 組み合わせ方がいろいろあると思ってませんでした・・・ 『~さん、こんにちは!』の後に『好きな数を入力してください』と表示するプログラムにしたいんですが、出来ますか?

その他の回答 (3)

  • yokozawa
  • ベストアンサー率50% (1/2)
回答No.4

kz_003さんのやりたい事は、 すでに皆さんの書いてくださったソースコードの通りで実現できますよ。 ここでは、色々な組み合わせ方の一つの クラスをインスタンス化して利用するという方法を紹介します。 ---------------------------------------------------------------- import java.io.*; class Hello2 {  public static void main(String[] args) throws IOException {   System.out.println("名前を入力してください");   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   String str = br.readLine();   System.out.println(str + "さん、こんにちは!");   //ここで、Sanbaiクラスをインスタンス化します。   Sanbai sanbai = new Sanbai();   //sanbaiインスタンスのメソッドを実行します。   sanbai.inputNumber();  } } ---------------------------------------------------------------- import java.io.*; class Sanbai{   // ---------------------------------- //   // コンストラクタ   // 本来は、メンバ変数などを初期化します。   // 今回は、メンバ変数が無いので、何もしません。   //   Sanbai()   {   }   //ユーザーに好きな文字を入力させて、それを表示します。   public void inputNumber() throws IOException {    System.out.println("好きな数を入力してください");    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));    String str = br.readLine();    int x;    x = Integer.parseInt(str);    System.out.println("あなたの入力した数:" + x);    System.out.println("その3倍の数:" + (x*3));  } } ---------------------------------------------------------------- ポイントは、以下の二行ですね。 //ここで、Sanbaiクラスをインスタンス化します。 Sanbai sanbai = new Sanbai(); //sanbaiインスタンスのメソッドを実行します。 sanbai.inputNumber(); これによって、Hello2クラスに、 直接数字を入力させるコードを書かないで 同じ事ができるようになります。 ------------------------------------------------------- Javaを学ぶのでしたら、ぜひクラスについて調べてみてください。 (十分なれてからで良いので) その際によく使われる用語を説明して終わりますね。 クラス:関係性の強い変数や、メソッドを一つにまとめて扱う単位。     または、プログラム言語に備わる機能の事。 インスタンス:直訳で実体。        具体的には、クラスのデータをnew演算子を用いて、        ヒープと呼ばれるメモリ領域に展開(配置)したもの。 オブジェクト:直訳で物。        オブジェクト指向の本などでは、        クラスやインスタンスの事を、オブジェクトと呼んだりする。 この表現のせいで、オブジェクトとは何なのか混乱する人がいるので注意。 (私も混乱した口です。)         ------------------------------------------------------- こんなところですね。

kz_003
質問者

お礼

ありがとうございます! まだクラスやオブジェクトなどのJAVAの単語がちゃんと理解出来てないので慣れてから勉強してみようと思います!

  • auty
  • ベストアンサー率58% (284/486)
回答No.3

単純に並べるだけでよいと思います。ただし重複した宣言は出来ませんから 以下を参考にしてみてください。 Question.java ---------------------------------------------------------------------------------- import java.io.*; class Question { public static void main(String[] args) throws IOException { System.out.println("名前を入力してください"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str + "さん、こんにちは!"); System.out.println("好きな数を入力してください"); br = new BufferedReader(new InputStreamReader(System.in)); str = br.readLine(); int x; x = Integer.parseInt(str); System.out.println("あなたの入力した数:" + x); System.out.println("その3倍の数:" + (x * 3)); } } ---------------------------------------------------------------------------------- または Question2.java ---------------------------------------------------------------------------------- import java.io.*; class Question2 { public static void main(String[] args) throws IOException { System.out.println("名前を入力してください"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str + "さん、こんにちは!"); System.out.println("好きな数を入力してください"); BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in)); String str2 = br.readLine(); int x; x = Integer.parseInt(str2); System.out.println("あなたの入力した数:" + x); System.out.println("その3倍の数:" + (x * 3)); } } ---------------------------------------------------------------------------------- つまり、再宣言せずにそのままstrを使うか、別の変数str2を宣言する必要があります。

kz_003
質問者

お礼

ありがとうございます! 重複した宣言が出来ない事が分からなかったので助かりました!

noname#119918
noname#119918
回答No.2

import java.io.*; class sample { public static void main(String[] args) throws IOException { System.out.println("名前を入力してください"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str + "さん、こんにちは!"); System.out.println("好きな数を入力してください"); str = br.readLine(); int x; x = Integer.parseInt(str); System.out.println("あなたの入力した数:" + x); System.out.println("その3倍の数:" + (x*3)); } }

kz_003
質問者

お礼

ありがとうございます! 無事に出来ました!

関連する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
  • Ctrl+Zが入力されると終了するプログラム

    入力された文字をそのまま表示し、[Ctrl]+Zが入力されると終了するプログラムを組んでいるんですがどのように記述すればよいか困っています。アドバイスお願いします。 public static void main(String args[])throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; do{ str = br.readLine(); System.out.println(str); }while(str == null); }

    • ベストアンサー
    • Java
  • Java int sum = 0は必要ですか?

    やさしいJavaという本を買ったのですが、良くわからない箇所がありました。 --------------省略----------------- class Sample6 { public static void main(String[] args) throws IOException { System.out.println("整数を3つ入力してください。") ; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) ; String str1 = br.readLine() ; String str2 = br.readLine() ; String str3 = br.readLine() ; int sum = 0 ; sum += Integer.parseInt(str1) ; -------------------略----------------- int sum = 0 ; とありますが、0と設定しておく必要はありますか? 無いとまずいですか? いきなりこのコードが出てきたと思うのですが どこかに書いてましたっけ?

    • ベストアンサー
    • Java
  • JavaでString型をChar型に変換するプログラムが分かりません

    JavaでString型をChar型に変換するプログラムが分かりません;; どなかた助けて下さい。 下のプログラムの何がいけないんでしょうか?? いろいろ間違ってるところはあると思うんですが、教えて下さい! import java.io.*; class { public static void main(String args[]) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); StringBuffer moji = new StringBuffer(str1); char nyuu=moji;

  • 例外処理の有無ついて

    import java.io.*; class A{ public static void main(String args[]){ System.out.println("文字を入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); String stru = str.toUpperCase(); System.out.println("大文字変換すると" + stru); } } このまま実行すると例外処理をしなくてはいけません。 とエラーになり、 public static void main(String args[])throws IOException{ とすれば正常に動作するのですが、 ではどういうときに例外処理は必要になってくるのでしょうか? なにか決まりがあるのでしょうか?

    • ベストアンサー
    • Java
  • キーボードから文字列を入力する際の質問です。

    キーボードから文字列を入力する際の質問です。 どうしてもカタカナでしか日本語の入力が出来ません。 ローマ字入力です。 import java.io.*; 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(); System.out.println(str + "が入力されました。"); } }

    • ベストアンサー
    • 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
  • charAt(0)について

    import java.io.*; class Sample3 { 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("検索文字を入力してください。"); String str2 = br.readLine(); char ch = str2.charAt(0); int num = str1.indexOf(ch); if(num != -1) System.out.println(str1 + "の" + (num+1) + "番目に「" + ch + "」が見つかりました。"); else System.out.println(str1 + "に「" + ch + "」はありません。"); } char ch = str2.charAt(0);の部分ですが、 charAt(0)というのは ( )に書かれている番号「のみ」を参照するんですよね? だからもし「こ」んちにはと入力しても0番目の「こ」しか出さないはずなのに、 「に」 を入れたらちゃんと「3番目に に が見つかりました」と出るのはなぜですか?

    • ベストアンサー
    • Java
  • スタックトレースについて

    スタックトレースを出力して、例外をそのままスローする。 と、仕様の最後に書かれていたのですが、どうやればいいのかわかりません。 たとえば下記のソースだったらどう加えればいいのでしょうか? import java.io.*; class Test { public static void main(String args[]) throws IOException { System.out.println( args[0] + "の起動"); System.out.println("入力してください"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String PP; PP = br.readLine(); System.out.println( PP + "が入力されました"); } }

    • ベストアンサー
    • Java
  • 構文がエラーになる

    Exception in thread"main"java.lang.NoClassDefFoundError という文章でエラーになります。 import java.io.*; class Sample34 { public static void main (String args[])throws IOException { System.out.println("整数を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int res = Integer.parseInt(str); if(res == 1){ System.out.println("1が入力されました。"); } else if(res == 2){ System.out.println("2が入力されました。"); } else{ System.out.println("1か2を入力してください。"); } } }

専門家に質問してみよう