Linux Calculator in Java, Basic Computer Science

Assignment Help:
Hello,
Could you create a linux calculator using very basic java code (not complex, because I am a novice java coder). It should be called into the terminal for interaction.
Thank You!!
Here is the assignment:

I have a problem performing simple arithmetic operations. I need it to
perform addition, subtraction, multiplication, division, and exponentiation.
The program should read operations from standard input and/or from a file. If it reads from a file then the file will contain all of the operations and data. If the program reads from standard input then the program is interactive. It should be able to do both.
The program is to be called xcalc. It is to be run from the UNIX command line prompt. A sample execution is below.

$calc file l file 2
$calc < file 1
$calc
It will read from the standard input and write to the standard output with the capability of i/o redirection. I also want the program to have the command line option capability to specify an output file
Scale -O outputfilename inputfilenamel
The numbers read are to be unsigned integers and the operations are to be in prefix form. The operations are addition, subtraction, multiplication, division, and exponentiation.

The control d character (the UNIX end of file character) will end the program if it is interactive. The following sample list of operations should help clear up any confusion.

"+11 11"

"-22 11"
"*22 2"
"/22 2"

"e 2 3"


The operation must be the very first character on the input line followed by 1 or more blanks. Any number of blanks can be before or after each operand. No blanks can be embedded into a number. Sample execution and operation follows that illustrate interactive mode
$xcalc
>>+ 11 22
>>11 + 22 =33
>>*22 2
>>22 * 2 = 44
>>

There is one arithmetic operation that can be used to implement all others. Determine which one and use it to implement all of the operations: "+, -, *, /, and e." If you cannot determine which operation is the "one magical all powerful operation" then try using addition "+".
You should check for invalid operations and for division by zero.
This program is to be developed using the principles discussed in class
Each operation should be implemented as a function. See the example below.

int add (int augend, int addend)
{
int sum;
sum = augend + addend;

return sum;
}
If you cannot figure out how to use addition "+" then use the : "+, -, *, /, and e." in a straight forward manner.
int multiply (int multiplicand, int multiplier)
{
int product;
product = multiplicand * multiplier;

return product;
}

Related Discussions:- Linux Calculator in Java

Special-purpose and general-purpose computers, SPECIAL-PURPOSE AND GENERAL-...

SPECIAL-PURPOSE AND GENERAL-PURPOSE COMPUTERS In general, there are two types of digital computers. The first is the special-purpose digital computer, which performs a f

Definition of User-Level Thread?, User-level threads apply in user-level li...

User-level threads apply in user-level libraries, before via systems calls, so thread switching does not require to call operating system and to cause interrupt to the kernel. Actu

Lines and Indentation in python , One of the first caveats programmers come...

One of the first caveats programmers come across when learning Python is the reality that there are no braces to point to blocks of code for class and function definitions or flow

Network control, Network Control, Engineering and Management Network co...

Network Control, Engineering and Management Network control in this sense involves traffic management, and the engineering of the networks to support varying traffic loads. In

Distinguish between s-http and ssl, QUESTION (a) Distinguish between S...

QUESTION (a) Distinguish between S-HTTP and SSL (b) What are the three basic security provided by SSL? (c) Discuss the limitations of SSL (d) State the port number us

Microprocessor, what is computer mapped input / output

what is computer mapped input / output

Wcdma – fdd technology, WCDMA – FDD technology Multiple access technology i...

WCDMA – FDD technology Multiple access technology is wideband CDMA (WCDMA) All cells at same carrier frequency Spreading codes used to separate cells and users Signal bandwidth 3.8

Synchronous and asynchronous transmission, Synchronous and Asynchronous Tra...

Synchronous and Asynchronous Transmission: Another method of setting of terminals denotes synchronous or asynchronous transmission. Many terminals can only communicate in one

Multiple Statement Groups as Suites, Sets of individual statements making u...

Sets of individual statements making up a single code block are known as suites in Python. Composite or complex statements for example if, def while and class are those which neces

Innovation, role of an system analyst as an innovator

role of an system analyst as an innovator

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd