ProKaseifu の回答履歴

全450件中41~60件表示
  • 配列の初期化に関する問題で・・・

    Javaのプログラミングの問題で、下記のような問題が出ました。 要素数が10のint型配列aの各要素を順に3,12,7,20,15,5,8,18,10,16で初期化し、 キーボードから入力された値が配列の何番目に格納されているかを表示するプログラムを作成してください。 ただし、データが配列の中に存在しない場合は「○○は見つかりませんでした」と表示してください。 「if文を使って場合分けする」というヒントがありましたが よくわかりません。 下記のように考えてみたのですが、思うようになりません。 教えて頂けたらと思います。 import java.io.*; public class renshu { public static void main(String[] args)throws IOException { int a[]={3,12,7,20,15,5,8,18,10,16}; int n; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("探索する数字を入力してください>"); n=Integer.parseInt(br.readLine()); a=Integer.parseInt(br.readLine()); switch(a){ case 3: System.out.print(a+"はa[1]に格納されています。"); break; case 12: System.out.print(a+"はa[2]に格納されています。"); break; case 7: ~~~~~(省略) break; default; System.out.print(a+"は見つかりませんでした。") } } }

    • ベストアンサー
    • gatetsu38
    • Java
    • 回答数5
  • クラスでnew宣言

    いつも御世話になっています。 クラス作成時に、 オブジェクト型(クラス型)を変数として宣言している時がある気がするのですが、ClassB classB = new ClassB(); この場合の利点は何かあるのでしょうか? 普通に考えれば、この記述を宣言することで、この宣言がされているクラス自身が、ClassBの実体を持つことになり、このクラスだけで多数のクラスの実体を利用できるようになる。 と思ったのですが。 クラスとしては、 ClassA { private ClassB classB = new ClassB(); } という場合です。 ここで、private ClassB classB;でない理由: むやみに、上記の書き方をすると、外部から書き換えられてしまう恐れがあるから、、なるべくその可能性を回避するため 宜しくお願いします。

    • ベストアンサー
    • kannitiha
    • Java
    • 回答数7
  • クラスでnew宣言

    いつも御世話になっています。 クラス作成時に、 オブジェクト型(クラス型)を変数として宣言している時がある気がするのですが、ClassB classB = new ClassB(); この場合の利点は何かあるのでしょうか? 普通に考えれば、この記述を宣言することで、この宣言がされているクラス自身が、ClassBの実体を持つことになり、このクラスだけで多数のクラスの実体を利用できるようになる。 と思ったのですが。 クラスとしては、 ClassA { private ClassB classB = new ClassB(); } という場合です。 ここで、private ClassB classB;でない理由: むやみに、上記の書き方をすると、外部から書き換えられてしまう恐れがあるから、、なるべくその可能性を回避するため 宜しくお願いします。

    • ベストアンサー
    • kannitiha
    • Java
    • 回答数7
  • ファイル名を動的に生成したい

    ファイル名を日付とその日の中の通し番号にしたいと思っています。 例えば2009/07/17日だったらファイル名を 20090717+その日の中の通し番号とする。 日付をファイル名にするところまではできたのですが「その日の中の 通し番号とする」部分がわかりませんので教えていただきたいのですが。 import java.text.SimpleDateFormat; import java.util.Date; public class CreateFileName { public static void main(String args[]){ Date date1 = new Date(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd"); //ファイル名は日付とその日の中の通し番号 String fileName = sdf1.format(date1).toString()+".pdf"; System.out.println(fileName); } }

  • CSV書込みの際、カンマで位置がずれる

    VB.NET初心者です 変数に必要なデータを入れて、それをCSVに書き込もうとしているのですが、 データの中にカンマを含むものが存在して、 エクセルで開くと本来1セルでよいところが、2セル使って 他の行と比べるとずれてしまいます たとえば、A~Eを変数として A=あ B=い,い C=う D=え E=お というデータがあって、それをA,B,C,D,Eの順に 横一列でCSVにした場合 「あ い,い う え お」 と5列にしたいところが、 「あ い い う え お」 と6列になってしまうのです。 これはどのように解決すればよいでしょうか? どうかご教授願います。 [開発環境] WinXPPRO/VB.NET2003/Excel2000

  • 2次元配列の並び替え

    2次元配列の並び替えをやりたいのですが、どうすればわかりません。 int[][] list = new int[2][5]; の中身が list[0][0]=0; list[1][0]=4; list[0][1]=1; list[1][1]=1; list[0][2]=2; list[1][2]=3; list[0][3]=3; list[1][3]=2; list[0][4]=4; list[1][4]=0; だったとすると、list[0][ ]についてソートされていますが、 これをlist[1][ ]についてソートしたいのです。 つまり、 newlist[0][0]=4; newlist[1][0]=0; newlist[0][1]=1; newlist[1][1]=1; newlist[0][2]=3; newlist[1][2]=2; newlist[0][3]=2; newlist[1][3]=3; newlist[0][4]=0; newlist[1][4]=4; のようにlist[1][ ]についてソートしたいのですが、どうすればいいでしょうか? 教えてください。お願いします。

    • ベストアンサー
    • ba_i_o
    • Java
    • 回答数4
  • double を すべて bigdecimal

    big decimalに直したいのですが・・・ doubleのところをbigdecimalに変えるだけじゃ動かないんですね。 当方、プログラムを勉強し始めて1か月の者です。 BigDecimal(double val)を使うのですか・・・? よろしくお願い致します。 class dentaku{ public static void main(String args[]){ double val1 = 0; /* 最初の数字 */ double val2 = 0; /* 次の数字 */ String ope; /* 演算子 */ double kekka; /* 結果を格納 */ if (args.length != 3){ errDisp("引数は3個入力して下さい"); } try{ val1 = Double.parseDouble(args[0]); val2 = Double.parseDouble(args[2]); }catch(NumberFormatException e){ errDisp("数値でない値が入力されています"); } ope = args[1]; String opeStr[] = {"kake", "waru", "tasu", "hiku"}; boolean errFlag = true; for (int i = 0 ; i < 4 ; i++){ if (ope.equals(opeStr[i])){ errFlag = false; } } if (errFlag == true){ errDisp("演算子は kake waru tasu hiku の4つです"); } if (ope.equals("kake")){ kekka = val1 * val2; }else if (ope.equals("tasu")){ kekka = val1 + val2; }else if (ope.equals("hiku")){ kekka = val1 - val2; }else{ if (val2 == 0){ errDisp("0 で割ろうとしました"); } kekka = val1 / val2; } System.out.println("入力された式は " + val1 + " " + ope + " " + val2 + " です"); System.out.println("計算結果は " + kekka + " です"); } private static void errDisp(String errStr){ System.out.println("Usage : java dentaku 数値 演算子 数値"); System.out.println(errStr); System.exit(0); /* プログラムを終了する */ } }

    • ベストアンサー
    • noname#89508
    • Java
    • 回答数2
  • 複数の数字を計算

    下記のプログラムだと、 1 tasu 1 tasu 1 tasu 1 tasu 1 をしても答えは2となります。 入力された数字を一気に計算できる方法を教えて下さい。 また、必ず5の値を入力しなくては、いけないのでは無くて、5つ以下ならOKにしたいです。 コマンドプロンプト上で自ら入力し動くプログラムを作成中です。 例: 1 tasu 1 tasu 1 tasu 1 tasu 1  答え5      1 tasu 1 tasu 1 答え3 /*演算子チェックと演算実行*/ if (args[1].equals("tasu")){ /*演算子チェック*/ ans1 = num1 + num2; }else if (args[1].equals("hiku")){ /*演算子チェック*/ ans1 = num1 - num2; /* hiku 演算実行*/ }else if (args[1].equals("kake")){ /*演算子チェック*/ ans1 = num1 * num2; /* kake 演算実行*/ }else if (args[1].equals("waru")){ /*演算子チェック*/ if(num2 == 0){ /*0算チェック*/ System.out.println("0で割ろうとしました"); }else{ BigDecimal bd1 = new BigDecimal(num1); /* waru 演算実行*/ BigDecimal bd2 = new BigDecimal(num2); BigDecimal bd3 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP);/*小数点第3位四捨五入、小数点第2位まで表示の割り算*/ } }else{ System.out.println("演算子1: kake waru tasu hiku の中から入力して下さい"); } /*演算子チェックと演算実行*/ if (args[3].equals("tasu")){ /*演算子チェック*/ ans1 = num2 + num3; }else if (args[3].equals("hiku")){ /*演算子チェック*/ ans1 = num2 - num3; /* hiku 演算実行*/ }else if (args[3].equals("kake")){ /*演算子チェック*/ ans1 = num2 * num3; /* kake 演算実行*/ }else if (args[3].equals("waru")){ /*演算子チェック*/ if(num3 == 0){ /*0算チェック*/ System.out.println("0で割ろうとしました"); }else{ BigDecimal bd1 = new BigDecimal(num2); /* waru 演算実行*/ BigDecimal bd2 = new BigDecimal(num3); BigDecimal bd3 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP);/*小数点第3位四捨五入、小数点第2位まで表示の割り算*/ } }else{ System.out.println("演算子2: kake waru tasu hiku の中から入力して下さい"); } /*演算子チェックと演算実行*/ if (args[5].equals("tasu")){ /*演算子チェック*/ ans1 = num3 + num4; }else if (args[5].equals("hiku")){ /*演算子チェック*/ ans1 = num3 - num4; /* hiku 演算実行*/ }else if (args[5].equals("kake")){ /*演算子チェック*/ ans1 = num3 * num4; /* kake 演算実行*/ }else if (args[5].equals("waru")){ /*演算子チェック*/ if(num4 == 0){ /*0算チェック*/ System.out.println("0で割ろうとしました"); }else{ BigDecimal bd1 = new BigDecimal(num3); /* waru 演算実行*/ BigDecimal bd2 = new BigDecimal(num4); BigDecimal bd3 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP);/*小数点第3位四捨五入、小数点第2位まで表示の割り算*/ } }else{ System.out.println("演算子3: kake waru tasu hiku の中から入力して下さい"); } /*演算子チェックと演算実行*/ if (args[7].equals("tasu")){ /*演算子チェック*/ ans1 = num4 + num5; }else if (args[7].equals("hiku")){ /*演算子チェック*/ ans1 = num4 - num5; /* hiku 演算実行*/ }else if (args[7].equals("kake")){ /*演算子チェック*/ ans1 = num4 * num5; /* kake 演算実行*/ }else if (args[7].equals("waru")){ /*演算子チェック*/ if(num5 == 0){ /*0算チェック*/ System.out.println("0で割ろうとしました"); }else{ BigDecimal bd1 = new BigDecimal(num4); /* waru 演算実行*/ BigDecimal bd2 = new BigDecimal(num5); BigDecimal bd3 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP);/*小数点第3位四捨五入、小数点第2位まで表示の割り算*/ } }else{ System.out.println("演算子4: kake waru tasu hiku の中から入力して下さい"); }

    • ベストアンサー
    • noname#89508
    • Java
    • 回答数2
  • 複数の数字を計算

    下記のプログラムだと、 1 tasu 1 tasu 1 tasu 1 tasu 1 をしても答えは2となります。 入力された数字を一気に計算できる方法を教えて下さい。 また、必ず5の値を入力しなくては、いけないのでは無くて、5つ以下ならOKにしたいです。 コマンドプロンプト上で自ら入力し動くプログラムを作成中です。 例: 1 tasu 1 tasu 1 tasu 1 tasu 1  答え5      1 tasu 1 tasu 1 答え3 /*演算子チェックと演算実行*/ if (args[1].equals("tasu")){ /*演算子チェック*/ ans1 = num1 + num2; }else if (args[1].equals("hiku")){ /*演算子チェック*/ ans1 = num1 - num2; /* hiku 演算実行*/ }else if (args[1].equals("kake")){ /*演算子チェック*/ ans1 = num1 * num2; /* kake 演算実行*/ }else if (args[1].equals("waru")){ /*演算子チェック*/ if(num2 == 0){ /*0算チェック*/ System.out.println("0で割ろうとしました"); }else{ BigDecimal bd1 = new BigDecimal(num1); /* waru 演算実行*/ BigDecimal bd2 = new BigDecimal(num2); BigDecimal bd3 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP);/*小数点第3位四捨五入、小数点第2位まで表示の割り算*/ } }else{ System.out.println("演算子1: kake waru tasu hiku の中から入力して下さい"); } /*演算子チェックと演算実行*/ if (args[3].equals("tasu")){ /*演算子チェック*/ ans1 = num2 + num3; }else if (args[3].equals("hiku")){ /*演算子チェック*/ ans1 = num2 - num3; /* hiku 演算実行*/ }else if (args[3].equals("kake")){ /*演算子チェック*/ ans1 = num2 * num3; /* kake 演算実行*/ }else if (args[3].equals("waru")){ /*演算子チェック*/ if(num3 == 0){ /*0算チェック*/ System.out.println("0で割ろうとしました"); }else{ BigDecimal bd1 = new BigDecimal(num2); /* waru 演算実行*/ BigDecimal bd2 = new BigDecimal(num3); BigDecimal bd3 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP);/*小数点第3位四捨五入、小数点第2位まで表示の割り算*/ } }else{ System.out.println("演算子2: kake waru tasu hiku の中から入力して下さい"); } /*演算子チェックと演算実行*/ if (args[5].equals("tasu")){ /*演算子チェック*/ ans1 = num3 + num4; }else if (args[5].equals("hiku")){ /*演算子チェック*/ ans1 = num3 - num4; /* hiku 演算実行*/ }else if (args[5].equals("kake")){ /*演算子チェック*/ ans1 = num3 * num4; /* kake 演算実行*/ }else if (args[5].equals("waru")){ /*演算子チェック*/ if(num4 == 0){ /*0算チェック*/ System.out.println("0で割ろうとしました"); }else{ BigDecimal bd1 = new BigDecimal(num3); /* waru 演算実行*/ BigDecimal bd2 = new BigDecimal(num4); BigDecimal bd3 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP);/*小数点第3位四捨五入、小数点第2位まで表示の割り算*/ } }else{ System.out.println("演算子3: kake waru tasu hiku の中から入力して下さい"); } /*演算子チェックと演算実行*/ if (args[7].equals("tasu")){ /*演算子チェック*/ ans1 = num4 + num5; }else if (args[7].equals("hiku")){ /*演算子チェック*/ ans1 = num4 - num5; /* hiku 演算実行*/ }else if (args[7].equals("kake")){ /*演算子チェック*/ ans1 = num4 * num5; /* kake 演算実行*/ }else if (args[7].equals("waru")){ /*演算子チェック*/ if(num5 == 0){ /*0算チェック*/ System.out.println("0で割ろうとしました"); }else{ BigDecimal bd1 = new BigDecimal(num4); /* waru 演算実行*/ BigDecimal bd2 = new BigDecimal(num5); BigDecimal bd3 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP);/*小数点第3位四捨五入、小数点第2位まで表示の割り算*/ } }else{ System.out.println("演算子4: kake waru tasu hiku の中から入力して下さい"); }

    • ベストアンサー
    • noname#89508
    • Java
    • 回答数2
  • ITパスポートについて

    基本情報の本があるので、見ていましたが、思っている以上にデータ構造やアルゴリズムが難関です。 ネットワークやセキュリティも好きですが、MCAがあるから基本情報の範囲ではシスアド以上に難しくて到底無理だなぁと見えています。 基本情報は私には雲の上ですので、難易度が低くなりますが、ITパスポートも情報が出たので、考えようかと思っております。 ITパスポートは、800点から900点がアピール、TOEICと同じ方式で、IPだけを取得しても旧シスアドと同じアピールの材料になりますでしょうか? 私はエンドユーザ系ですので、答えられる範囲で教えて下さい。 よろしくお願いします。

  • 2次元配列の並び替え

    2次元配列の並び替えをやりたいのですが、どうすればわかりません。 int[][] list = new int[2][5]; の中身が list[0][0]=0; list[1][0]=4; list[0][1]=1; list[1][1]=1; list[0][2]=2; list[1][2]=3; list[0][3]=3; list[1][3]=2; list[0][4]=4; list[1][4]=0; だったとすると、list[0][ ]についてソートされていますが、 これをlist[1][ ]についてソートしたいのです。 つまり、 newlist[0][0]=4; newlist[1][0]=0; newlist[0][1]=1; newlist[1][1]=1; newlist[0][2]=3; newlist[1][2]=2; newlist[0][3]=2; newlist[1][3]=3; newlist[0][4]=0; newlist[1][4]=4; のようにlist[1][ ]についてソートしたいのですが、どうすればいいでしょうか? 教えてください。お願いします。

    • ベストアンサー
    • ba_i_o
    • Java
    • 回答数4
  • 2次元配列の並び替え

    2次元配列の並び替えをやりたいのですが、どうすればわかりません。 int[][] list = new int[2][5]; の中身が list[0][0]=0; list[1][0]=4; list[0][1]=1; list[1][1]=1; list[0][2]=2; list[1][2]=3; list[0][3]=3; list[1][3]=2; list[0][4]=4; list[1][4]=0; だったとすると、list[0][ ]についてソートされていますが、 これをlist[1][ ]についてソートしたいのです。 つまり、 newlist[0][0]=4; newlist[1][0]=0; newlist[0][1]=1; newlist[1][1]=1; newlist[0][2]=3; newlist[1][2]=2; newlist[0][3]=2; newlist[1][3]=3; newlist[0][4]=0; newlist[1][4]=4; のようにlist[1][ ]についてソートしたいのですが、どうすればいいでしょうか? 教えてください。お願いします。

    • ベストアンサー
    • ba_i_o
    • Java
    • 回答数4
  • プログラムのつくり?

    VB2008でプログラムを作成しています。 数値前提でプログラムを組むとInvalidCastExceptionはハンドルされませんでした。という例外が発生しました。 アプリ実行中にこのようなエラーができると何が良くないのでしょうか? 対策として例外処理をするという言葉はわかりますが、どのようにコーディングすればよいのでしょうか? Try Catch ex As Exception ここで何を書けば??? End Try 数値を期待して文字列が来た場合は、その後の処理に支障があるわけで、 例外処理はプログラムを止めない予防策で、この場合は、数値ではないと 次のプログラムに進む意味がないので、エラーメッセージを表示させて、その処理は終わりでよいのでしょうか?

  • Javaについて。

    アプリケーションでマウスでボタンを触れたら小さな小窓?みたいな感じのものをつくりたいのですがプログラミングが分かりません。誰かわかりませんか?

  • eclipse3.0 元に戻す最大回数設定方法

    お疲れ様です。 eclipse3.0にて元に戻す最大回数の設定方法をご存知の方がいらっしゃいましたら、ご教授願います。 またタイトルと別内容になって申し訳ありませんが、以下の疑問についても同時に質問させていただきます。 ・同ファイル内に複数クラスを記載した場合、他ファイルからクラスを参照した際に型が解決できない。どのようにソースを記載すれば回避できるのか? [例] (ManyClass.java) class CL1 { } class CL2 { } (MainClass.java) class Main { public CL1 cl1; ←型が解決できないと赤ラインで警告表示 ~~~~~~~~~~~~~~ } 補足:ファイルをエディターで表示している場合は上記事象は発生しません。 以上、欲張りな質問となって申しわけありません。どちらかの質問だけでも構いませんので、ご教授願います。

  • eclipse3.0 元に戻す最大回数設定方法

    お疲れ様です。 eclipse3.0にて元に戻す最大回数の設定方法をご存知の方がいらっしゃいましたら、ご教授願います。 またタイトルと別内容になって申し訳ありませんが、以下の疑問についても同時に質問させていただきます。 ・同ファイル内に複数クラスを記載した場合、他ファイルからクラスを参照した際に型が解決できない。どのようにソースを記載すれば回避できるのか? [例] (ManyClass.java) class CL1 { } class CL2 { } (MainClass.java) class Main { public CL1 cl1; ←型が解決できないと赤ラインで警告表示 ~~~~~~~~~~~~~~ } 補足:ファイルをエディターで表示している場合は上記事象は発生しません。 以上、欲張りな質問となって申しわけありません。どちらかの質問だけでも構いませんので、ご教授願います。

  • セッション属性

    HttpSession 属性に HashMap がバインドされています。 そこで、HttpSession の getAttribute で取得した HashMap オブジェクトで、任意のキーにバインドされている値をgetして、putで入れなおして変更すると、 結局、セッション属性にバインドされている HashMap の値が更新されることになる。 (setAttribute メソッドは使わない) 上記は正しいですか? とりあえず、簡素に質問しました。

    • 締切済み
    • noname#101202
    • Java
    • 回答数3
  • セッション属性

    HttpSession 属性に HashMap がバインドされています。 そこで、HttpSession の getAttribute で取得した HashMap オブジェクトで、任意のキーにバインドされている値をgetして、putで入れなおして変更すると、 結局、セッション属性にバインドされている HashMap の値が更新されることになる。 (setAttribute メソッドは使わない) 上記は正しいですか? とりあえず、簡素に質問しました。

    • 締切済み
    • noname#101202
    • Java
    • 回答数3
  • [Java]プログラミング初心者なため解りません。

    はじめまして。 大学でJavaの課題を出されたのですが、プログラミング初心者なため方法がわかりません。どなたか助けていただきたいです。 課題 まず、以下のようなファイル(test.dat)を作成する 1 2 3 4 5 6 7 8 9 10 このファイルを読み込み、次のような結果をファイル(kekka.dat)として出力するプログラムを作成せよ。 1 + 2 = 3 3 + 4 = 7 5 + 6 = 11 7 + 8 = 15 9 + 10 = 19 なんとか自力でファイルの入出力を行うことはできたのですが、文字列を操作して出力する方法がわかりません。 どなたか教えていただけないでしょうか。 よろしくお願いします。

  • javaを教えてください

    メインメソッドとは別のクラスメソッドからメソッドを呼ぶ方法を教えて下さい。