Em Andamento

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

Habilidades: Computer Science, Java

Ver mais: 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

Acerca do Empregador:
( 0 comentários ) New Brunswick, United States

ID do Projeto: #15186770

Premiar a:

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+ Mais

$30 USD em 1 dia
(126 Avaliações)
6.6

14 freelancers estão ofertando em média $50 para este trabalho

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 em 1 dia
(193 Comentários)
6.6
$50 USD em 1 dia
(205 Comentários)
6.3
$55 USD em 1 dia
(6 Comentários)
4.8
polarjin2017

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

$111 USD em 1 dia
(4 Comentários)
3.5
PATechnology

A proposal has not yet been provided

$30 USD in 3 dias
(13 Comentários)
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 Mais

$100 USD in 3 dias
(2 Comentários)
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 Mais

$126 USD em 1 dia
(2 Comentários)
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 Mais

$25 USD em 1 dia
(1 Comentário)
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 Mais

$15 USD em 1 dia
(0 Comentários)
0.0
ihshsl

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

$25 USD em 1 dia
(1 Comentário)
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 Mais

$25 USD em 1 dia
(0 Comentários)
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 in 2 dias
(0 Comentários)
0.0
griffk

A proposal has not yet been provided

$30 USD em 1 dia
(0 Comentários)
0.0