В работе

java - data structure assignment

Background

Integer.MAX_VALUE is the maximum value of a Java int: 2147483647. If you want to work with even bigger integers, you have the option of using the type long, which has the maximum value of Long.MAX_VALUE = 9223372036854775807.

But what if you this is not enough? What if you are working on something like an astronomy application, and need to keep track of things such as number of stars in the universe? This is of the order of 1023, larger than the maximum long value. For situations like this, you need to be able to work with an integer type that can hold arbitrarily large or small positive and negative values, with any number of digits. There is no built-in type in the language for this, so you need to craft your own. In this assignment, you will do exactly this, by implementing a class called BigInteger, with a representative small set of operations.

The trick is to store an integer as a linked list of digits. For example, the integer 754 will be stored as:

4 -> 5 -> 7

Why are the digits stored backward? It's because computations such as adding or multiplying big integers are easier to do if the linked list stores digits in ascending order of positional value. So the least significant digit is in the first node of the linked list, and the most significant digit is in the last node.

This is a simple linked list, NOT circular, with a front pointer. The sign (positive or negative), is stored separately in a boolean field.

Also, there can never be zeros at the end of the list. Such zeros will be insignificant (appearing before the most significant digit in the number) as in 00754.

Implementation and Point Assignment

Download the attached [url removed, login to view] file to your computer. DO NOT unzip it.

Instead, follow the instructions on the Eclipse page under the section "Importing a Zipped Project into Eclipse" to get the entire project into your Eclipse workspace.

You will see a project called BigInteger with classes BigInteger, DigitNode, and BigTest in package math. The DigitNode class implements the linked list node that will hold a digit of a big integer linked list.

You need to fill in the implementation of the following methods in the BigInteger class:

Method Points

parse 10

add 30

multiply 25

Note: When parsing an input string as an integer, you can use the [url removed, login to view](char) method to tell if a character is a digit.

Make sure to read the comments that precede classes, fields, and methods for code-specific details that do not appear here.

Observe the following rules while working on [url removed, login to view]:

Running/Testing

Use the class BigTest to test your implementation. Carefully read the code in the file to get a good idea of how the BigInteger methods are used.

Here's a sample run of BigTest:

(p)arse, (a)dd, (m)ultiply, or (q)uit? => p

Enter integer => 125

Value = 125

(p)arse, (a)dd, (m)ultiply, or (q)uit? => p

Enter integer => -126

Value = -126

(p)arse, (a)dd, (m)ultiply, or (q)uit? => p

Enter integer => +1

Value = 1

(p)arse, (a)dd, (m)ultiply, or (q)uit? => p

Enter integer => 005

Value = 5

(p)arse, (a)dd, (m)ultiply, or (q)uit? => p

Enter integer => 123xy56

Incorrect Format

(p)arse, (a)dd, (m)ultiply, or (q)uit? => a

Enter first integer => 12

Enter second integer => -13

Sum: -1

(p)arse, (a)dd, (m)ultiply, or (q)uit? => a

Enter first integer => 16756726

Enter second integer => 0

Sum: 16756726

(p)arse, (a)dd, (m)ultiply, or (q)uit? => m

Enter first integer => 12

Enter second integer => 200

Product: 2400

(p)arse, (a)dd, (m)ultiply, or (q)uit? => m

Enter first integer => 178

Enter second integer => -156

Product: -27768

(p)arse, (a)dd, (m)ultiply, or (q)uit? => m

Enter first integer => -16

Enter second integer => -05

Product: 80

Навыки: Computer Science, Java

Показать больше: Algorithms and Data Structure assignment, trees in java data structure, java data structure tutorial, java data structure book, graph java data structure, java data structure, queue java data structure, stack simple java data structure, data structure assignment, search words java data structure, java data structure project, card game using java data structure, card game using java data structure gui, java data structure maximum size, java data structure queu simulation

О работодателе:
( 0 отзыв(-а, -ов) ) New Brunswick, United States

ID проекта: #15186770

14 фрилансеров(-а) подали заявки на эту работу; средняя заявка - $50

NovaSofts

Hello Sir i have read your description and checked attached file and i am confident that i can do this project perfectly. please kindly inbox me for more thanks Relevant Skills and Experience Java, Data structure = 8+ Больше

$30 USD за 1 день
(124 отзывов(-а))
6.6
$50 USD за 1 день
(204 отзывов(-а))
6.3
utkarshkatiyar19

hello, i have a lot of experience with java. i can do this big integer project. we can discuss in chat. thanks Relevant Skills and Experience java Proposed Milestones $60 USD - all

$60 USD за 1 день
(190 отзывов(-а))
6.6
$55 USD за 1 день
(5 отзывов(-а))
4.4
polarjin2017

Hi Relevant Skills and Experience I am good in java Proposed Milestones $111 USD - So I hope your reply.

$111 USD за 1 день
(4 отзывов(-а))
3.5
amariitism

Hello We are highly motivated young technocrats from India. We are approachable, you can come to us if you have a struggle, we are happy to help. Team TiponTongue Relevant Skills and Experience Hello We are highl Больше

$100 USD за 3 дней(-я)
(2 отзывов(-а))
3.2
PATechnology

A proposal has not yet been provided

$30 USD за 3 дней(-я)
(12 отзывов(-а))
3.4
Valuesolutions

Hello, how are you? I hope you have a bright day/evening from your side. I have read the details provided, but please contact me so that we can discuss more on the project. Relevant Skills and Experience Computer Scie Больше

$126 USD за 1 день
(2 отзывов(-а))
3.7
alhassanlatif

Hey ... I have read ur project .. I think it's just an easy job I can do for you Relevant Skills and Experience I have been working with java and algorithms and data structure for years ... pls leave me a message if Больше

$25 USD за 1 день
(1 отзыв)
0.5
vinsy

Hey Its an assignment. I can do it as soon as possible. Relevant Skills and Experience C,C++, Java, Algorithm, Active coder in programming competition sites like TopCoder, Spoj etc I have good knowledge of DS & Algori Больше

$15 USD за 1 день
(0 отзывов(-а))
0.0
ihshsl

. Relevant Skills and Experience . Proposed Milestones $25 USD - . .

$25 USD за 1 день
(0 отзывов(-а))
0.0
simrankaurc

Why you should hire me? Professional project management & experts in managing projects remotely Security coding standard Ability to work in your time zone 24/7/365 availability Relevant Skills and Exper Больше

$25 USD за 1 день
(0 отзывов(-а))
0.0
kioren

Hello, I have good experience in Java programming language. I am confident that I can be of full help in solving the assignment. BR.

$15 USD за 2 дней(-я)
(0 отзывов(-а))
0.0
griffk

A proposal has not yet been provided

$30 USD за 1 день
(0 отзывов(-а))
0.0