1

私のクラスには、算術演算を含むNumberクラスを作成する割り当てがあります。(加算/減算/乗算など)

私が混乱している部分が1つあります。それは、二重にリンクされたリストです。それについて説明している仕様の唯一の部分は、少し紛らわしいと思います。何を保存するのかわかりません-すべての数字が入力されましたか?上位桁のノードをハイポイントと書いてあります...それが何を意味するのかわかりません。また、二重リンクリストをどのように実装するのか正確にはわかりません...次の「上位桁」への参照があるだけですか?

また-何Nodeですか?割り当ては、私が作成することだけを示していclass Numberます...しかし、Java APIのノードは、HTMLタグと関係があると言っていますか?私は使うべきではないNumber low, high???

二重リンクリストの部分を詳述する仕様の部分は次のとおりです。

番号は二重にリンクされたリストに格納されます(ここではジェネリックを使用しないでください)。各ノードには、1桁(0から9)と2つのポインターフィールド(prevとnext)を保持するint値フィールドがあります。

The Number class will have five fields: 

private Node low, high;
private int digitCount = 0;
private int decimalPlaces = 0;
private boolean negative = false;

highは上位桁のノードを指し、lowは下位桁のノードを指し、digitCountはリストに格納されている桁数、decimalPlacesは小数点以下の桁数(ノード)、負は符号を示します。

私は正確な解決策を求めているのではなく、いくつかのガイダンスと理解を求めています。私は与えられたどんな助けにも心から感謝します。

4

2 に答える 2

1

このコンテキストのノードは、リンクリストの要素です。

各ノードに1桁の数字が含まれている、リンクリストとして数値を表すことになっているようです。

だから数

12.34

1、2、3、および4のそれぞれに1つずつ、合計4つのノードがあります。小数点の前後にそれぞれ2桁あるため、数値のdigitCountは2、decimalPlacesは2になります。

リンクリストは次のようになります

1 <-> 2 <-> 3 <-> 4

ここ<->で、はリンクリストの二重リンクの性質を表します(前のノードと次のノードの両方のポインター)。リストが循環していると想定される場合は、おそらく1<->4からのポインターもあるはずです。

Numberクラスの概要は次のようになります。

public class MyNumber {
   DigitNode low;
   DigitNode high;
   int digitCount;
   int decimalPlaces;
   bool negative;
}

DigitNodeクラスのアウトラインは次のようになります

public class DigitNode {
   int digit;
   DigitNode next;
   DigitNode prev;
}

プライベート/保護されたものやセッター/ゲッターのようなものを無視します。lowこれで、プロパティを取得し、その'next'プロパティを取得し、nextnullになるまでループすることで、数字を反復処理するようなことができます。

于 2011-09-16T16:35:12.420 に答える
1

仕様からのこのテキストに基づくと、数字はノードのように見えます。

...the number of digits (nodes) after the...

このコンテキストでは、高次は10の次の累乗を意味するように見えるため、次の大きい桁と低次は反対のように見えるため、次に低い桁になります。

于 2011-09-16T16:35:25.280 に答える