JAVAアプレットで
ax^3+by^2+cz+d=0 a≠0
を解く、というレポートができません。
分かる方がいたら、宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

質問文でまた疑問が出てきました。


ax^3+by^2+cz+d=0
となっていますが、これでは解けません。
ax^3+bx^2+cx+d=0
ではないのですか?

もう一つ。otuki-samaさんは、「カルダノ法」「ニュートン法」が何を意味するかわかってますか?

それで回答ですが、
プログラムそのものを書けば簡単ですが、
面倒くさいのと、レポートを代りに書くのは気が進まないので、それはやりません。
方針だけ示します。

複素数計算がわりと難しいので、
ニュートン法を使って計算する方が簡単だと思います。
ニュートン法は、

(1)最初のxを適当にとって、
(2)x - (f(x) / f'(x))を新しいxとおいて、
(3)f(x)の値の絶対値がある程度以下ならば、それを解とする。
というやりかたです。

いろいろやり方はあるでしょうが、以下は一例です。
・(1)の「最初のx」は1.0あたりにとる。
・(2)のループはwhile文を使う
・(3)の「ある程度」は0.0000000001くらいにする。
    • good
    • 0

コンピュータで3次方程式を解く場合、



(1)3次方程式の解の公式を使って解く
(2)2分法やニュートン法などで解く

の二つの方法がありますが、問題ではどちらを要求されていますか?

この回答への補足

カルダノ法、またはニュートン法と使うこと、
がヒントになってました。
どうでしょうか?

補足日時:2003/09/16 18:10
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJavaのダウンロードについて

さっきパソコンの電源をいれたら

ダウンロード準備完了  Java(TM) Update

Java(TM) Updateを使って最新版をコンピュータにダウンロードすることができます。
最適なセキュリティーとパフォーマンスのため、今すぐ最新版をダウンロードすることをお勧めします。

Java(TM)6 Update 2 Available
Java(TM)6 Update 2 includes features and fixes to accelerate
your Java applications as well as updates to keep Java secure.

後で通知する   ダウンロード

という表示がでたのですが、ダウンロードしても問題ないのでしょうか?

Aベストアンサー

こんばんは
お持ちのPCにJavaがインストールされていれば Updateは自動で配信されます 
Java(TM)6 Update 2は今のJavaの最新ですから ダウンロードしても問題は有りません
ただ Javaはかなりの容量を使いますから(140MB位)新しいのを入れたら 以前のバージョンは削除した方がいいですよ
UpdateでHDDが一杯に成ってしまいますからね
                            参考まで

Q2^0, 2^(-1), 2^(-2), ..., 2^(-n)

指令行の引数に正の整数 n を指定すると, 2^0, 2^(-1), 2^(-2), ..., 2^(-n) を順に各行に出力していくプログラムで、 n が大きな値になっても,小数点以下100桁までほ正確に結果を出力するようにしたいのですが、どうしたらよいでしょか?

Aベストアンサー

BigDecimalを使っては。

参考URL:http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html

QJAVAダウンロード出来ません。

JAVAソフトウェアダウンロードのページでダウンロードを試みましたが、
http://www.java.com/ja/
ダウンロードを開始すると
"設定を確認中"と出てダウンロードが開始されません。
どうすればダウンロードできますか?

Aベストアンサー

手動で一旦ダウンロードしてから、インストールもできませんか?
http://www.java.com/ja/download/manual.jsp

Qアプレットを実行すると、×が表示され、Javaアプレットの読み込みに失敗しました。のメッセージが表示されます。

Java JDK5をインストールしました。

C:\Program Files\Javaに
jdk1.5.0_06
jre1.5.0_06
がインストールされています。

コンパイルは、PATHにC:\Program Files\Java\jdk1.5.0_06\binを追加すれば、できるようになりました。


Javaアプレットの読み込みに失敗しました。のメッセージが表示されます。


// 図形の表示

import java.applet.*;
import java.awt.*;

public class Test_0002 extends Applet{
public void paint(Graphics g){
g.fillOval(0, 0, 200, 100);
}
}

Aベストアンサー

HTMLのソースとclassファイル(またはjarファイル)の配置はどうなっていますか?
読み込みに失敗したのなら、classファイルが読み込めていない可能性が高いです。

QJAVA開発キットのダウンロード法。

プログラミング全くの初心者ですが、JAVAを始めてみたいと思っています。ところがJAVAの入門書を手に入れたところ、JAVAの開発キットをダウンロードしようとしてみましたが、入門書が古いせいか、そのダウンロードサイトの様子が変わっていたり、また英語表記だったりして自分なりにいろいろとやってたものの、よくわかりません。どなたか、最新のJAVA開発キットのダウンロード法を詳しく教えて頂けないでしょうか…。使用OSは、WindowsXPです。

Aベストアンサー

Windows版でいいんですよね?
下記のURLから、

・「JDKのダウンロード」をクリック
・「ACCEPT」にチェック
・Windows Platform - J2SE(TM) Development Kit 5.0 Update 6の「Windows Offline Installation, Multi-language」をクリック
・もう一度 Windows Platform - J2SE(TM) Development Kit 5.0 Update 6の「Windows Offline Installation, Multi-language」をクリック

で、ダウンロード出来ます。

参考URL:http://java.sun.com/j2se/1.5.0/ja/download.html

Qx^2+y^2<n^2

指令行の引数に正の整数 n を指定すると,x^2+y^2<n^2となる整数格子点 (x, y)(x>0, y>0)の個数を計算して出力するプログラムで、
n が1億であっても,きちんと個数が計算できるようにしたいのですが、どうしたらよいでしょうか?

Aベストアンサー

こんな感じですか?
あまり速くはないですが、10億なら計算できます。100億は途中でオーバーフローします(^^;
あと、結果は検証していないので適当な値でチェックしてください。

roopメソッドで計算してます。
mainは適当に書いたので
n = Long.parseLong(args[0])
のようにして変換したlong値をroopメソッドに渡してください。

public static void main(String[] args) throws IOException {

  long n;

  long end;

  for (int i = 1; i <= 10; i++) {
    System.out.println();
    n = (long)Math.pow(10, i);
    count = roop(n);
    System.out.println("Find " + count + "(N=" + n + ")");
  }

  System.out.println("end.");

}

private static final long roop(long n) {

  final long powN = n * n;
  long count = 0;
  long x = 1;
  long rengeX;
  
  long pow;

  for (long y = n - 1; y > 0; y--) {
    rengeX = powN - y*y;
    while ((pow = x * x) < rengeX) {
      if (pow < 0) {
        throw new IllegalArgumentException(x + ":" + pow);
      }
      x++;
    }
    count += Math.max(0, x - 1);
    if (count < 0) {
      throw new IllegalArgumentException("" + count);
    }
  }

  return count;
}

こんな感じですか?
あまり速くはないですが、10億なら計算できます。100億は途中でオーバーフローします(^^;
あと、結果は検証していないので適当な値でチェックしてください。

roopメソッドで計算してます。
mainは適当に書いたので
n = Long.parseLong(args[0])
のようにして変換したlong値をroopメソッドに渡してください。

public static void main(String[] args) throws IOException {

  long n;

  long end;

  for (int i = 1; i <= 10; i++) {
    System.out.println();...続きを読む

QJAVAのコンパイラのダウンロードについて

 最近、JAVAを勉強しようと思い、JAVAのコンパイラができるというJDKと呼ばれるものををダウンロードしようとしたのですが、ページが英語のせいでどうすればダウンロードできるのか全く分かりません。

 今のところ、勉強するだけなので無償と言うこれをダウンロードしたいのですが、いったいどこをどうすれば落とせるんでしょうか。

 あと、ほかにもForte for Javaを使えば便利と聞いたのですが、確かJAVAはテキストエディタとJDKがあれば作れると聞いたのですが、これはどういうことなのでしょうか。

 JAVAを始める以前の問題のような気もしますが、初心者なので誰か教えてください。

Aベストアンサー

http://java.sun.com/j2se/1.3/ja/download-windows.html を開いたら、
ページのやや下のほうにある、

Java 2 SDK, v 1.3.1_02 ソフトウェア Windows 95 / 98 / 2000 / NT 4.0 /Me (Intel プラットフォーム) 版のダウンロード

のところにあるcontinueボタンを押します。
そうすると、英語で使用契約書が表示されるので、
ページの最下部にあるACCEPT(同意する)というボタンを押すと、ダウンロード画面に進みます。
たくさんボタンが並んでいますが(やっぱり英語)、どれか1つをクリックするとダウンロードが始まります。

こんな感じでダウンロードがんばってください。

Qjava アプレットでエラー

以下のサンプルソースをEclipse上で実行したら
"アプレットは初期化されていません"というエラーになってしまいました。

//フレームウィンドウの表示/非表示を切り替える。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample129 extends Applet implements
ActionListener {

Button bt;
frame fr;

public void init() {
bt = new Button("ウィンドウ表示");
add(bt);
bt.addActionListener(this);
fr = new frame("操作対象ウィンドウ");
fr.setSize(250,120);
}

public void actionPerformed(ActionEvent event) {
//ウインドウを表示
fr.setVisible(true);
}
}

class frame extends Frame {

frame(String title) {
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
//ウインドウを非表示
setVisible(false);
}
});
}

public void paint(Graphics g) {
g.drawString("閉じるボタンで非表示",65,65);
}
}

■エラー内容
java.lang.NoSuchMethodError: frame: method <init>(Ljava/lang/String;)V not found
at Sample129.init(Sample129.java:17)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

どうすればこのエラーが解消できるのでしょうか。

以下のサンプルソースをEclipse上で実行したら
"アプレットは初期化されていません"というエラーになってしまいました。

//フレームウィンドウの表示/非表示を切り替える。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample129 extends Applet implements
ActionListener {

Button bt;
frame fr;

public void init() {
bt = new Button("ウィンドウ表示");
add(bt);
bt.addActionListener(this);
fr = new frame("操作対象ウィンドウ");
fr.se...続きを読む

Aベストアンサー

PED02744さんの言うとおり、コードは問題ないですね。
こちらでも実行可能(ただし、いろいろいじってたら別のエラーがでた)
実行環境その他の問題のような気がする。
というわけで、
・Eclipseで使ってるJREのバージョンは何か?最近変更したか?
ウィンドウ/設定→Java/インストール済みのJREで確認可能
・実行/デバッグはJavaアプレットでやってるか?
(本来、このコードならJavaアプリでは実行できない気がする)
・プロジェクトのビルドをしてるか
プロジェクト/プロジェクトのビルドで可能。
ただし、デフォルトは自動で実行するので選択できないはず。
・他のファイルでエラーが出ていないか?

あとは、プロジェクトのフォルダ内のどこか(たぶんbinフォルダ)の中に、
classファイルがあるので、いっぺん消してみて、プロジェクトのクリーンをかける。
これでどうだろうか?

Qjavaのapiをダウンロードしたいです。

Java EEをダウンロードするのではなくてJava SEをダウンロードして、必要に応じてapiをダウンロードしたいのですが、apiはどこからダウンロードすればよいのでしょうか?

javaxが含まれるのを使いたいです。

かなり調べたのですが、意外とどこにも回答がなく困っております。
初心者ですが、よろしくお願いします。

Aベストアンサー

eclipse なんかの初期設定だと、APIドキュメントはネット上のものが見れるようになっています。
API を zip でダウンロードしておきたいということなら、以下のページからダウンロードできます。(Java SE 7 を除く)
http://www.oracle.com/technetwork/jp/java/javase/documentation/api-jsp-316041-ja.html

---
Java SEのバージョン 1.3.0、1.4.0、5.0、6 の日本語ドキュメントは、こちらのページでアーカイブ・ファイルも提供しています。
---
このように書いてある部分のリンクをクリックしてください。

QJava アプレットの表示

画像を表示するJavaアプレットを作成したのですが、
AのパソコンはJavaアプレットが表示されるのですが
Bのパソコンは表示されません、
Bのパソコンは他のJavaアプレットは表示されます、
なぜですか。

Aベストアンサー

BのパソコンにはJREがインストールされていないからだとおもいます。
http://java.sun.com/j2se/1.4.1/ja/download.html
からダウンロードできます

参考URL:http://java.sun.com/j2se/1.4.1/ja/download.html


人気Q&Aランキング

おすすめ情報