# 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

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

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

Kỹ năng: Computer Science, Java

Về Bên Thuê:
( 0 nhận xét ) New Brunswick, United States

Mã Dự Án: #15186770

## Đã trao cho:

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+ Thêm

\$30 USD trong 1 ngày
(126 Đánh Giá)
6.6

## 14 freelancer đang chào giá trung bình \$50 cho công việc này

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 trong 1 ngày
(193 Đánh Giá)
6.6
\$50 USD trong 1 ngày
(205 Đánh Giá)
6.3
\$55 USD trong 1 ngày
(6 Đánh Giá)
4.8
polarjin2017

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

\$111 USD trong 1 ngày
(4 Đánh Giá)
3.5
PATechnology

A proposal has not yet been provided

\$30 USD trong 3 ngày
(13 Đánh Giá)
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 Thêm

\$100 USD trong 3 ngày
(2 Đánh Giá)
3.2
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 Thêm

\$126 USD trong 1 ngày
(2 Đánh Giá)
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 Thêm

\$25 USD trong 1 ngày
(1 Đánh Giá)
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 Thêm

\$15 USD trong 1 ngày
(0 Đánh Giá)
0.0
ihshsl

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

\$25 USD trong 1 ngày
(1 Đánh Giá)
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 Thêm

\$25 USD trong 1 ngày
(0 Đánh Giá)
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 trong 2 ngày
(0 Đánh Giá)
0.0
griffk

A proposal has not yet been provided

\$30 USD trong 1 ngày
(0 Đánh Giá)
0.0