0

それで、大学のコンピューターサイエンスクラスの入門でJavaを始めたばかりです。「リヒタースケールのマグニチュードが(ユーザーが入力した値)」「(ユーザー入力によって決定された答え」の場合)を表示するようにコードを変更する必要があります。ユーザーがダイアログ ボックスに入力した数字を取得し、これら 2 つのテキスト セクションの間に出力します. BlueJ を使用してコーディングします. プログラムを実行すると、ターミナルで回答が開きます.

これは編集が必要なコードです:

/**
* Write a description of class Earthquake here.
*
* A class that describes the effects of an earthquake.
* @author Michael Gerhart
* @version Version 1.0, 4/22/2013
*/
public class Earthquake
{
// instance variables
private double richter;
/**
* Constructor for objects of class Earthquake
* @param magnitude the magnitude on the Richter scale
*/
public Earthquake(double magnitude)
{
// initialise instance variable richter
richter = magnitude;
}
/**
* Gets a description of the effect of the earthquake.
*
* @return the description of the effect
*/
enter code here`public String getDescription(double magnitude)
{
String r;
if (richter >= 8.0)
r = "Most structures fall";
else if (richter >= 7.0)
r = "Many buildings destroyed";
else if (richter >= 6.0)
r = "Many buildings considerably damaged; "
+ "some collapse";
else if (richter >= 4.5)
r = "Damage to poorly constructed buildings";
else if (richter >= 3.5)
r = "Felt by many people, no destruction";
else if (richter >= 0)
r = "Generally not felt by people";
else
r = "Negative numbers are not valid";
return r;
}
}

これは、プログラムを実行するコードです。

import javax.swing.JOptionPane;
/**
* Write a description of class EarthquakeTest here.
*
* A class to test the Earthquake class.
*
* @author Michael Gerhart
* @version 4/22/2013
*/
public class EarthquakeTest
{
public static void main(String[] args)
{
String input = JOptionPane.showInputDialog("Enter a magnitude on the Richter scale:");
double magnitude = Double.parseDouble(input);
Earthquake quake = new Earthquake(magnitude);
String quakeDamage = quake.getDescription(magnitude);
System.out.println(quakeDamage);
System.exit(0);
}
}
4

1 に答える 1

0

何をおっしゃっているのか、ちょっとわかりにくいのですが、「等級が 3.8 なら、多くの人が感じた、破壊はない」のように表示してください。その場合、あなたはほとんどそこにいます。文字列連結を使用するだけです。2 つのストリングをくっつけて 1 つのストリングにするようなものです。

quakeDamage は既にテキストの 2 番目のブロックを保持しています (この場合、「多くの人が感じ、破壊はありません」)。最終結果を保持するには、別の文字列変数が必要です。次のようなことを試してください:

String result = "If the magnitude is " + magnitude + ", " + quakeDamage;
System.out.println(result);

これにより、テキスト全体が出力されます。

(ちなみに、これを少し試した後、Earthquake クラスで定義されたテキストを編集して、見栄えを良くしたい場合があります。"Felt" の大文字がテキストの中央に表示されることに注意してください。文。)

于 2013-04-22T17:39:03.057 に答える