【初心者・ネタ】Java質問・相談スレ【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGお前らとりあえずがんがってください
そして誰か教えてください。
関連スレ
初心者無視! Java相談室 その9
http://pc.2ch.net/test/read.cgi/tech/1021555964/
調べようとする優秀な奴は↑へどうぞ。
0666デフォルトの名無しさん
NGNG作業ディレクトリに問題があるかも
0667デフォルトの名無しさん
NGNG即レスどうもありがとうございます。
問題があるとは具体的には、どう直したらいいんでしょうか?
0668デフォルトの名無しさん
NGNG# pwd
/home/2ch
# ls
abc test.java test.class
# javac abc/A.java
って感じか?
0669デフォルトの名無しさん
NGNGC:\foo> move A.java abc
C:\foo> move B.java abc
C:\foo> javac abc\A.java
C:\foo> javac abc\B.java
0670デフォルトの名無しさん
NGNG>>669
Windowsなので>>669のようにやってみました。
ディレクトリ作成までは出来たのですが、moveコマンドが効かないっす。
C:\foo> move A.java C:\foo\abc
のようにしてもダメです。
って、これに関してはスレ違いですか?
0671デフォルトの名無しさん
NGNGmvだと思われ
>>668
スーパーユーザーで動かさない方が良いよ
0672デフォルトの名無しさん
NGNGabcディレクトリに二つのファイルをコピーしました。
んで、
C:\foo> javac abc\A.java
C:\foo> javac abc\B.java
とコンパイルするとやはり同じエラーが出てしまいます。。。
0673デフォルトの名無しさん
NGNGエラーメッセージをコピぺしろ
0674デフォルトの名無しさん
NGNGprotected abstract void thread(A a);
0675デフォルトの名無しさん
NGNGthread(A a);
↓
method(A a);
0676 ◆VB6.V49.
NGNGVB6はもうだめなので、Javaを始めようと思います
VJでアプレットの作成をしたいですが、どこから手をつけましょうか?
MSDNのVJはJavaの基本解説が不親切
おすすめサイトを教えてください〜
最初がアプレットは邪道ですか?
0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNGclass suretsu{
public static void main(String arg[]){
int i, j;
int A[7]; //この行
int B[6]; //この行
for (i = 0; i < 7; i++){
B[i] = i;
}
for (j = 0;j < 8; j++){
A[j] = A[j - 1] + B[j - 1];
}
}
}
コンパイルしようとすると']'がありませんとのエラーが出ます。
どうしてですか?
そう言わないでお願いします
アプレットはVJに依存しないですよね?<わかって言ってるか不明
ActiveXにはウンザ‐リなのでアプレット!!
Javaは全く初めてなので、どこが有名サイトなんだろ…
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNGあぁ、そっか、基礎を忘れてました。
ありがとうございます。
0682途中参加
NGNG空欄認識させる方法を伝授してください。
0683678
NGNGException in thread "main" java. long.ArrayIndexOutOfBoundException at suretsu main(suretsu.java:8)
がエラー文です。
どういう意味ですか?
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGint[] hoge = new int[5];
hoge[5] = 1;
とかやってると出る。
0686678
NGNGつまり、
Int[] hoge = new int[5];
と書くと、0〜5のインデックスではなく、要素が5個ということで、0〜4がインデックスということですね。
了解です。
ありがとうございました。
0687デフォルトの名無しさん
NGNGどんな設計の時なのでしょうか??
自分で作るクラスやメソッドはわかるのですが、
インターフェイスを作った事がありません。
作って実装した事がある方、そのソフト設計というか、
つくりを教えていただければと思います
0688デフォルトの名無しさん
NGNGJSPで、Excelファイルを吐き出すプログラムを作っています。
Contenttypeでエクセルを指定してるのですが、吐き出すファイル名が指定できません。
出力するエクセルファイルの名前を指定する方法はありますか?
0689デフォルトの名無しさん
NGNG教えてください。
import java.applet.*;
import java.awt.*;
public class Graph extends Applet implements Runnable{
Thread kick;int loop=0;Font f;AudioClip sound;
int data[][]={{200,100,400,80},{150,120,50,200},
{180,150,300,150},{200,220,400,50}};
public void init(){
f=new Font("Helvetica",Font.BOLD,30);
sound = getAudioClip(getDocumentBase(),"sounds/cowbell.au");}
public void start(){
if(kick==null){
kick=new Thread(this);
kick.start();}
}
public void run(){
while (true){
if(++loop>=4) loop=0;
repaint();
try{
Thread.sleep(5000);
}catch(InterruptedException e){
}}
}
public void paint(Graphics g){
sound.play();
g.setFont(f);
g.setColor(Color.black);
g.drawString("A",5,80);
g.setColor(Color.yellow);
g.fill3DRect(35,60,data[loop][0],20,false);
g.setColor(Color.black);
g.drawString("B",5,130);
g.setColor(Color.blue);
g.fill3DRect(35,110,data[loop][1],20,false);
g.setColor(Color.black);
g.drawString("C",5,180);
g.setColor(Color.orange);
g.fill3DRect(35,160,data[loop][2],20,false);
g.setColor(Color.black);
g.drawString("D",5,230);
g.setColor(Color.green);
g.fill3DRect(35,210,data[loop][3],20,false);
}
public void stop(){
if(kick !=null){
kick.stop();
kick=null;
}}
}
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNGうーむ… 奥が深い…
0692デフォルトの名無しさん
NGNGJDKのソースでも見てください。
Collection API の java.util.List と
java.util.ArrayList, java.util.LinkedList とか、
もっと簡単なのってーと
java.util.Collections の sort(List list, Comparator c) や
java.util.Arrays の sort(List list, Comparator c) と
java.util.Comparator の関係とか。
0693678
NGNGん
こ
な
げ
ま
く
り
と表示したいのですが、どこが間違えてますか?
コンパイルできるのですが、何も表示されません!
教えてください。m(__)m
class unko{
public static void main(String arg[]){
int i, j, k, l;
int A[] = new int[8];
int B[] = new int[7];
for (i = 0; i < 7; i++){
B[i] = i + 1;
}
for (j = 0; j < 8; j++){
if (j == 0){
A[j] = j;
}else{
A[j] = A[j - 1] + B[j - 1];
}
}
for (k = 0; j < 8; k++){
if (k != 0){
for (l = 0; l < A[k]; l++){
System.out.print(" ");
} }
switch (k) {
case 0 : System.out.println("う");
break;
case 1 : System.out.println("ん");
break;
case 2 : System.out.println("こ");
break;
case 3 : System.out.println("な");
break;
case 4 : System.out.println("げ");
break;
case 5 : System.out.println("ま");
break;
case 6 : System.out.println("く");
break;
case 7 : System.out.println("り");
break;
}
}
}
}
0694デフォルトの名無しさん
NGNGバグ取りくらい自分でやれ
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGいくら初心者スレとはいえ、良いのかこれは?
0697デフォルトの名無しさん
NGNGそれ言い出したら A だって要らんだろ。
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGとりあえず、j2sdkをインストロールしろ
そして、
javax.swing.JAppletを継承したクラスを作れ
0703デフォルトの名無しさん
NGNGhttp://java.sun.com/
0704デフォルトの名無しさん
NGNGJAVAアプレットのソースをもらって、htmlファイルに組み込もうとしたのですが、
ある特定のクラスファイルだけftp転送中にエラーが生じます。
ちなみにerrno=13なのですが、どうしてなのでしょうか?
スレ違いだったらごめんなさい。
よろしくお願いします。
0705デフォルトの名無しさん
NGNGEACCES かな? FTP ソフトがそのファイルの読み込みに失敗してると
思われ。ディスクエラーの可能性が高いから、スキャンディスク走ら
せてもう一度コンパイル & FTP 転送をやってみれ。
0706HOE
NGNG>>704
$つきのふぁいるとかない?外部クラスも使ってるでしょ?
とにかくJarで固めよう
0707デフォルトの名無しさん
NGNGJFileChooserのダイアログがあった部分の画像が切り取られてしまうんですが
おまえらどうにかなりませんか?
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGJAVAでっっっ1!
作れないものなどっっっ!!!!
ないっっっっっ!!!!!!!!!
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNGupdateで変な事してるとかかなぁ
もしくはgetGraphicsで描いてたりとか
それだけじゃわからんちん
0713JBUILDER6
NGNG0714678
NGNGありがとうございます。
まだ見つからないけど、頑張ります!
>>695
別に System.out.printlnだけで書いてもいいのですが、
何となく、初項1、項差1の等差数列B[n]を階差数列に持つA[n]という数列を使ってみました。
0715デフォルトの名無しさん
NGNG>>JPanelにdrawImage()するとなぜか
ということは、JPanelを継承したクラスで、paintメソッドで描いている訳
じゃないの?
画像を自動で再描画するには、paintメソッドで描くようにした方がいいよ。
0716704
NGNGレスありがとうございます!
とりあえずスキャンディスクはしてみたのですが、やっぱり同じエラーになります。
当方アプレットに関しては全く知識がなく、ただhtmlソースに貼り付ければ動くと言われたので、
コンパイルとかもよくわからず・・・すみません。
$つきのファイルばっかりです。でもついているのでも転送できたのもありました。
Jarで固める、とのこと、調べて見ます。ありがとうございました。
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG人工無能の対話するものを作らなくてはなりません。
どなたかソース(?)教えてください。(もしくは公開しているHP)
言葉をかえるだけでいい!みたいなのありますか?
0719デフォルトの名無しさん
NGNGこの書き込みをそのまま提出して君の人工無能っぷりを見せ付けてやれ。
0720718
NGNGそれですむなら、そうしたいよ。
0721デフォルトの名無しさん
NGNGワロタ
0722ぐぐる信者
NGNGhttp://www.google.com/
0723デフォルトの名無しさん
NGNG探してみたのか?
Java がさっぱり分からないのは授業をさぼっていたからじゃないのか?
そもそも課題ではプログラムを作るように指定されていたのか?
0724718
NGNGソースのってるのがみつかんないんです。
授業きいてたんですけど、高度すぎて、ついていけません。
課題はプログラムをつくるんです。
0725デフォルトの名無しさん
NGNG0726718
NGNGほんとですか!?ぜひ教えてください!
0727デフォルトの名無しさん
NGNGpaintComponent() じゃなくて?
0728デフォルトの名無しさん
NGNGよろぴこ。
0729デフォルトの名無しさん
NGNG0731HOE
NGNG>>716
java -jar cvf hoge.jar *.class
アプレット実行ファイル名がhoge.javaだったら、hoge.classが作成されるよね?
classファイルの中には $ マーク付きのファイルもたくさんあると思う。
一つにまとめると、転送サイズも小さくなるよ。問題の解決にはならないと思うけど。
あと、HTMLへのアプレットの記述も書いてほしいな。念のため。
画像ファイルなどがあればそれらの画像ファイル名は転送後、ちゃんと大文字小文字は
ソースファイル指定の文字になっているかどうかを確認してみて。
classファイルはバイナリでFTP転送しないとダメだからね。
ローカルで動くんだから、後もう一息!がんばってね
0732HOE
NGNG>>718
PerlとかCGIだったら理解しやすいかも。
Web裏技 というページに昔人工無能イチロー君があったけど(今はないかも)
処理のプロセスはみれば何となく分かると思うよ。
0733デフォルトの名無しさん
NGNGと
>jar cvf …
って何が違うの?
0735デフォルトの名無しさん
NGNGこれ提出すれ
public class Kadai {
public static void main( String[] args ) {
System.out.println( "私は無能です" );
}
}
0736デフォルトの名無しさん
NGNG実行結果を下記のように出すにはどうすればいいの?
A:\>java Histogram 56 25 67 88 100 61 55 67 76 56
ヒストグラム
0- 9|
10- 19|
20- 29|*
30- 39|
40- 49|
50- 59|***
60- 69|***
70- 79|*
80- 89|*
90- 99|
100- |*
最低点:25
最高点:100
平均点:65.1
0737デフォルトの名無しさん
NGNGいろいろ悩んでできなくて、マニフェストかいたら1発だった
という経験があるんだけど。
0738デフォルトの名無しさん
NGNG回答
そういう動作をするプログラムを書く。
0739デフォルトの名無しさん
NGNGpublic class Histogram {
public static void main( String[] args ) {
System.out.println( "ヒストグラム\n0- 9|\n10- 19|\n20- 29|*\n30- 39|\n40- 49|\n50- 59|***\n60- 69|***\n70- 79|*\n80- 89|*\n90- 99|\n100- |*\n最低点:25\n最高点:100\n平均点:65.1" );
}
}
0741デフォルトの名無しさん
NGNG>>739
オオイニワラタ
0742HOE
NGNGmain(String[] args) に入ってきた引数を数える。
(args.length とかで要素の数を求められますよね)
その要素がどの項目に割り当てられるべきかを条件分岐する。
(別にif文をたくさん並べても可能だし、もっとスマートに書くこともできますよ)
該当した場合、それぞれ用意しておいた各項目ごとのint型変数をインクリメントする
各項目の変数を args.length の分だけ 頭から System.out.println する
最低点
初期の値を0にして、その変数の値よりも比べる要素の方が小さい場合にのみ代入
する という条件分岐を 要素の数 args.length だけ行います。
最高点
最低点の逆です
平均点
一番簡単です。 要素を片っ端から順番に足していって args.lengthの数でわり算します。
0でわり算してしまうことに注意する必要があります。
Mathを使うことでもっと上手に求められることも覚えた方がよいかもしれません。
言葉足りない部分 みなさんのフォローお願いします
0743デフォルトの名無しさん
NGNGクラス分けしますか?(mainメソッドの中で全部やるのも可能だけど)
histogram クラスに、データを追加していって、最後に、
自分で自分を表示すれ、てな風に呼びますか?
それと、平均、最高、最低などの値を求めることが出来る
データのあつまりって、なんと呼べばいいんでしょう?
0744デフォルトの名無しさん
NGNG>これを、
どれを?
>データのあつまりって、なんと呼べばいいんでしょう?
データベース
0745707
NGNG0746デフォルトの名無しさん
NGNG美しいはともかく、クラス分けするほどのプログラムだろうか。
まあ、分けようと思えば分けられないこともないんだろうが。
0747デフォルトの名無しさん
NGNG0748736
NGNG{56 25 67 88 100 61 55 67 76 56}の数字は例なので、
他の数字でも動くプログラムを書きたいのです。
よろしくお願いしますm(_ _)m
なぁ。
どうすれば出来るかもうちょっと自分で考えて見ろ。
望む結果出力を得るには、どうゆう処理と計算が必要か。
何がわかって何がわからないのかを列挙して、
わからない部分だけを質問し直せ。
0750デフォルトの名無しさん
NGNGプログラムなんてホントはやりたくないとか・・。
0751デフォルトの名無しさん
NGNGmyJMenuItem.setAccelerator(KeyStroke.getKeyStroke('s'));
としたら、メニューでアイテムの横に
Unknown KeyCode :0x0 と表示されます。
誰か教えてください。
0752デフォルトの名無しさん
NGNG課題の答え書いてもらおうとしてるだろ?
授業でもらったプリントをもう一回見なおせ!
0753僕も初心者君
NGNGpublic static void main( String[] args ) {
int sum = 0;
int high = 0,low = 100;
double ave = 0;
String Title = "ヒストグラム",Saikou = "最高点:",
Saitei = "最低点:",Heikin = "平均点:";
String[] Item = {" 0 - 9|"," 10 - 19|"," 20 - 29|",
" 30 - 39|"," 40 - 49|"," 50 - 59|",
" 60 - 69|"," 70 - 79|"," 80 - 89|",
" 90 - 99|","100 - |"};
int[] num = new int[11];
StringBuffer[] Asterisk = new StringBuffer[11];
for (int i = 0;i < num.length;i++){
num[i] = 0;
Asterisk[i] = new StringBuffer();
}
try{
int InputNum;
for (int i = 0;i < args.length;i++){
InputNum = Integer.parseInt(args[i]);
Asterisk[InputNum / 10].append('*');
sum += InputNum;
if(InputNum > high)high = InputNum;
if(InputNum < low)low = InputNum;
}
ave = (double)sum / (double)args.length;
}
catch(Exception e){
e.printStackTrace();
}
System.out.println(Title);
for (int i = 0;i < Item.length;i++){
System.out.println(Item[i] + Asterisk[i]);
}
System.out.println(Saitei + (low));
System.out.println(Saikou + (high));
System.out.println(Heikin + (ave));
}
}
0754僕も初心者君
NGNG突っ込みどころ満載でしょうが、748氏の求める仕様をとりあえず満たすプログラムを書いてみました。
初心者なのでこんなのでも1時間半ぐらいかかってしまいました。
>>736
平均点が、キリの悪い場合は小数以下も何桁も続いてしまいます。
Cみたいに%3.1fとか桁数を合わす方法をまだ知りません。その辺はまた調べようと思います。
オープン系に行きたい2年目汎用男でした。ウザかったらごめんなさい。
0755僕も初心者君
NGNGとりあえず、's' を 'S' にしてみる。
それでダメなら getKeyStroke(KeyEvent.VK_S,0) にしてみる。
>>753
答え書くなよ…。
てか、748=736 が
Asterisk[InputNum / 10].append('*');
を理解できるんだろうか…。
0757HOE
NGNG大変お疲れさまでした
きっと748さんも感激してくれることと思います。
あしたあたりさっそく次の問題で、「グラフを縦に」したいとか言っちゃったりして ^^;
0758751
NGNG2番目の方法でメニューアイテムの右にSと表示される
ようになったんですが、反応ありません。何でですか?
0759デフォルトの名無しさん
NGNG748 が 「こういう風に書いたのですが、上手くいきません」 だったならともかく、
742 のヒントを見ていないかのようなレスだからなあ。
彼は答えをそのままコピーするくらいしかできないんじゃないかね。
何のために学校に行っているのだか。
そんなこと言われても…。
これでもだめ?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MTest extends JFrame{
public static void main(String[] argv) {
MTest insta=new MTest();
insta.pack();
insta.setVisible(true);
}
public MTest(){
setJMenuBar(new MBar());
}
class MBar extends JMenuBar implements ActionListener{
MBar(){
JMenuItem item=new JMenuItem("えすぼたん");
item.addActionListener(this);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,0));
JMenu mn=new JMenu("めぬー");
mn.add(item);
add(mn);
}
public void actionPerformed(ActionEvent evt){
System.out.println(evt.toString()+" ::: "+System.currentTimeMillis());
}
}
}
0761751
NGNGそれ、できました。
うーん。何が違うのだろうか?
ちなみに私のはポップアップメニューなんですが
関係ないですよね?
0762デフォルトの名無しさん
NGNGsetAccelerator() は、内部で
registerKeyboardAction() を WHEN_IN_FOCUSED_WINDOW で呼ぶことで、
ショートカットキーを登録します。
つまり、その JMenuItem を含むウィンドウにフォーカスがないと効かないわけですな。
ポップアップメニューは別ウィンドウとして扱われるので、ダメなわけです。はい。
0764デフォルトの名無しさん
NGNGprivate int[] values = null;
private int[] dist = new int[11];
private int sum = 0;
private int max = 0;
private int min = 0;
private double ave = 0.0;
Histogram(int[] arr){
if(arr == null || arr.length == 0)return;
values = (int[])arr.clone();
min = 100;
max = 0;
for(int i = 0; i < values.length; i++){
if(values[i] < 0 || 100 < values[i])throw new IllegalArgumentException("不正な点数が含まれています:" + values[i]);
if(min > values[i])min = values[i];
if(max < values[i])max = values[i];
sum += values[i];
dist[(values[i] / 10)]++;
}
ave = (double)sum / values.length;
}
void show(){
System.out.println("ヒストグラム");
for(int i = 0; i <= 10; i++){
StringBuffer buf = new StringBuffer();
if(i < 10)buf.append(i).append('-').append(i + 9);
else buf.append("100-");
buf.append('|');
for(int j = 0; j < dist[i]; j++)buf.append('*');
System.out.println(buf);
}
System.out.println("最低点:" + min);
System.out.println("最高点:" + max);
System.out.println("平均点:" + ave);
}
public static void main(String[] args){
if(args.length == 0){
System.out.println("数字(0−100)を入力してくだちい");
return;
}
int[] arr = new int[args.length];
for(int i = 0; i < args.length; i++){
try{
arr[i] = Integer.parseInt(args[i]);
if(arr[i] < 0 || 100 < arr[i]){
System.out.println(args[i]+"は範囲外ですよ");
}
}catch(NumberFormatException e){
System.out.println(args[i]+"は数字じゃないよ");
return;
}
}
Histogram hist = new Histogram(arr);
hist.show();
}
}
0765764
NGNG>759さん採点してくだちい
■ このスレッドは過去ログ倉庫に格納されています