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

Knowledge of the environment of ai system, Knowledge of the Environment ...

Knowledge of the Environment We must distinguish between knowledge an agent receives through it's sensors and knowledge about the world from which the input comes. Knowledge a

Types of chat room, Types of chat room: Java Chat rooms: The most comm...

Types of chat room: Java Chat rooms: The most common and popular chat scripts are based on java which is object oriented language. Java is freely available and comes with virt

Internal structure of agents - artificial intelligence, I n t e rnal St...

I n t e rnal Structure of Agents We have looked at agents in terms of their external influences and behaviors: they take input from the environment and perform rational act

Programming Project 1, Programming Project You will implement 2 algorithms...

Programming Project You will implement 2 algorithms to solve the single source shortest paths problem, Bellman-Ford Algorithm and Dijkstra''s algorithm Allowed programming languag

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

Computer security, concepts and components of computer security

concepts and components of computer security

What is atm, ATM = Asynchronous Transfer Mode Fast packet switching and mul...

ATM = Asynchronous Transfer Mode Fast packet switching and multiplexing technology (cell-based ) Support the universe of services voice, video and data traffic Provides quality of

Desk top publishing program, Desk Top Publishing Program: Desktop publ...

Desk Top Publishing Program: Desktop publishing programs contain many of the features of word processing software, but .go even further in the ability to layout the format of

ICT, what are the significance of telecommunications deregulation

what are the significance of telecommunications deregulation

Discuss the anatomy of xml document, Question 1 What is web browser? List ...

Question 1 What is web browser? List and explain the most common used web server Question 2 Discuss the anatomy of XML document Question 3 Discuss the various attr

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