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

Explain initial dynamic model with example, Question 1 Explain initial dyn...

Question 1 Explain initial dynamic model with example Question 2 Discuss the importance of object orientation during system development Question 3 Distinguish between Ob

How is python Using Blank Lines and Waiting for the User, A line holds onl...

A line holds only whitespace, probably with a comment, is identified as a blank line, and Python completely avoids it. In an interrelated interpreter session, you need to enter an

Necessary nurses records, Necessary Nurses Records The software shoul...

Necessary Nurses Records The software should generate all registers/reports in detail summary for various permutations and combinations of options. A powerful SQL (Structure

C++, Write a C++ program that declares three integers and three strings. Th...

Write a C++ program that declares three integers and three strings. The program prompts the user for three characters and three integers and prints them all on one line.

Need of operating system, Need of operating system: What kind of facil...

Need of operating system: What kind of facilities operating system provides to the users and programs: The operating system provides interfaces for the user (keyboard, m

Quiz for your learning activity, The development of your learning module is...

The development of your learning module is very time consuming, so it is recommended that you begin creating your learning module during this first week. Before you begin, download

Create a queue, QUESTION (a) Give the representation of a queue as an a...

QUESTION (a) Give the representation of a queue as an abstract data type. (b) What is a priority queue? Give two types of priority queues. (c) The following program does

Software engineering, 158.254 Software Development Lifecycle Management Ass...

158.254 Software Development Lifecycle Management Assignment 1 This assignment focuses on requirements engineering. The context to this assignment is the development of a system

Oprator, what is member dereferencing oprator ?

what is member dereferencing oprator ?

What is the importance of using digital certificates, QUESTION a) Crypt...

QUESTION a) Cryptography is a set of techniques and mathematical algorithms. Describe four important areas where cryptography must be applied b) What is the importance of us

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