Question

In: Computer Science

------------------------------------------------------------------------------------ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input =...

------------------------------------------------------------------------------------
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int result = 0;
        System.out.print("Enter the first number: ");
        int x = input.nextInt();
        System.out.print("Enter the second number: ");
        int y = input.nextInt();
        System.out.println("operation type for + = 0");
        System.out.println("operation type for - = 1");
        System.out.println("operation type for * = 2");
        System.out.print("Enter the operation type: ");
        int z = input.nextInt();
        if(z==0){
           result = x + y;
           System.out.println("The result is " + result);
        }else if(z==1){
            result = x - y;
            System.out.println("The result is " + result);
        }else if(z==2){
            result = x * y;
            System.out.println("The result is " + result);
        }else{
            System.out.println("Wrong input");
        }

    }
}

----------------------------------------------------------------------------------------------------------------------------------

Change Java program to MIPS

How many registers do you need to implement this program?

What system calls do you need to write this program?

Solutions

Expert Solution

Program:

.data
stmt1: .asciiz "Enter the first number: "
stmt2: .asciiz "Enter the second number: "
stmt3: .asciiz "\nEnter the operation type: "
stmt4: .asciiz "operation type for + = 0"
stmt5: .asciiz "\noperation type for - = 1"
stmt6: .asciiz "\noperation type for * = 2"
stmt7: .asciiz "Enter the operation type: "
stmt8: .asciiz "\nThe result is "
stmt9: .asciiz "\nWrong input"
newline: .asciiz "\n"
.text
.globl main
main:
        la $a0, stmt1       # load address of stmt for syscall
        li $v0, 4           # specify Print String service
        syscall
        
        li $v0,5       #get user input for first number
        syscall
        move $t0,$v0
        
        la $a0, stmt2       # load address of stmt for syscall
        li $v0, 4           # specify Print String service
        syscall
        
        li $v0,5       #get user input for second number
        syscall
        move $t1,$v0
        
        la $a0, stmt4       # load address of stmt for syscall
        li $v0, 4           # specify Print String service
        syscall
        
        la $a0, stmt5       # load address of stmt for syscall
        li $v0, 4           # specify Print String service
        syscall
        
        la $a0, stmt6       # load address of stmt for syscall
        li $v0, 4           # specify Print String service
        syscall
        
        la $a0, stmt3       # load address of stmt for syscall
        li $v0, 4           # specify Print String service
        syscall
        
        li $v0,5       #get user input for operation type
        syscall
        move $t2,$v0
        
        beqz $t2,sum
        beq $t2,1,difference
        beq $t2,2,product
        
        la $a0, stmt9       # load address of stmt for syscall
        li $v0, 4           # specify Print String service
        syscall
        
        j end
sum: add $t3,$t0,$t1
     j printResult
difference: sub $t3,$t0,$t1
            j printResult
product:    mul $t3,$t0,$t1
            j printResult  
printResult:    la $a0, stmt8       # load address of stmt for syscall
                li $v0, 4           # specify Print String service
                syscall
                
                move $a0,$t3
                li $v0,1
                syscall    
                j end
end:   li $v0,10
       syscall

Output:

I used 6 registers to implement the program

$a0, $v0 for input and output operations

$t0 for storing first number

$t1 for storing second number

$t2 for storing operation

$t3 for storing result

system calls needed:

4 to print string

5 to read integer

1 to print output


Related Solutions

import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {       ...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {        Stack<Integer> new_stack = new Stack<>();/* Start with the empty stack */        Scanner scan = new Scanner(System.in);        int num;        for (int i=0; i<10; i++){//Read values            num = scan.nextInt();            new_stack.push(num);        } System.out.println(""+getAvg(new_stack));    }     public static int getAvg(Stack s) {        //TODO: Find the average of the elements in the...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {       ...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {        Stack<Integer> new_stack = new Stack<>();/* Start with the empty stack */        Scanner scan = new Scanner(System.in);        int num;        for (int i=0; i<10; i++){//Read values            num = scan.nextInt();            new_stack.push(num);        }        int new_k = scan.nextInt(); System.out.println(""+smallerK(new_stack, new_k));    }     public static int smallerK(Stack s, int k) {       ...
import chapter6.date.SimpleDate; import java.util.Scanner; public class SimpleDateTestDefault { public static void main(String[] args) { Scanner stdin...
import chapter6.date.SimpleDate; import java.util.Scanner; public class SimpleDateTestDefault { public static void main(String[] args) { Scanner stdin = new Scanner(System.in); SimpleDate d1 = new SimpleDate(); SimpleDate d2 = new SimpleDate(stdin.nextInt(), stdin.nextInt(), stdin.nextInt()); System.out.println(d1); System.out.println(d2); System.out.println(d1.before(d2)); System.out.println(d2.before(d1)); } } Implement SimpleDate class in chapter6.date package with the following attributes: day, (int type,  private) month, (int type,  private) year (int type,  private) The class should have the following methods: a constructor with three parameters: year, month, and day a constructor with no parameters which initialize the...
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class Exercise { public static void main(String[] args) {...
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class Exercise { public static void main(String[] args) { Scanner input=new Scanner(System.in); int[] WordsCharsLetters = {0,1,2}; while(input.hasNext()) { String sentence=input.nextLine(); if(sentence!=null&&sentence.length()>0){ WordsCharsLetters[0] += calculateAndPrintChars(sentence)[0]; WordsCharsLetters[1] += calculateAndPrintChars(sentence)[1]; WordsCharsLetters[2] += calculateAndPrintChars(sentence)[2]; } else break; } input.close(); System.out.println("Words: " + WordsCharsLetters[0]); System.out.println("Characters: " + WordsCharsLetters[1]); System.out.println("Letters: " + WordsCharsLetters[2]); } static int[] calculateAndPrintChars(String sentence) { int[] WCL = new int[3]; String[] sentenceArray=sentence.split(" "); WCL[0] = sentenceArray.length; int letterCount=0; for(int i=0;i<sentence.length();i++) { if(Character.isLetter(sentence.charAt(i))) letterCount++; } WCL[1]...
public static void main(String[] args) {        Scanner input = new Scanner(System.in);        String[]...
public static void main(String[] args) {        Scanner input = new Scanner(System.in);        String[] strings = new String[100];        for (int i = 0; i < strings.length; i++) {            System.out.println("Enter Strings: stop ");            strings[i]=input.nextLine();            if(strings[i].equalsIgnoreCase("stop"))                break;        }               MaxLength(strings);//here is the error    }    public static int MaxLength(String[] array) {        int max = array[0].length();       ...
Write program in Java import java.util.Scanner; public class Lab7Program { public static void main(String[] args) {...
Write program in Java import java.util.Scanner; public class Lab7Program { public static void main(String[] args) { //1. Create a double array that can hold 10 values    //2. Invoke the outputArray method, the double array is the actual argument. //4. Initialize all array elements using random floating point numbers between 1.0 and 5.0, inclusive    //5. Invoke the outputArray method to display the contents of the array    //6. Set last element of the array with the value 5.5, use...
what i have: import java.util.Scanner; public class examples1 { public static void main(String[] args) { Square...
what i have: import java.util.Scanner; public class examples1 { public static void main(String[] args) { Square shade = new Square(getside()); System.out.println("Your chooses are:"); System.out.println("\nCircle"); System.out.println("Triangle"); System.out.println("Rectangle"); System.out.println("Square"); boolean moreShapes = true; boolean userChoice = true; while(moreShapes) { Scanner shapes = new Scanner (System.in); System.out.println("\nWhat shape do you want:"); String yourShape = shapes.nextLine(); if (userChoice = shade != null) { shade.getSide(); } System.out.println("\nWhat are two size paramters of the shape you choose:"); String yourParameter = shapes.nextLine(); System.out.println("\nYour shape is: " +...
import java.util.Scanner; public class Lab9Q3 { public static void main (String [] atgs) { double mass;...
import java.util.Scanner; public class Lab9Q3 { public static void main (String [] atgs) { double mass; double velocity; double totalkineticEnergy;    Scanner keyboard = new Scanner (System.in); System.out.println ("Please enter the objects mass in kilograms"); mass = keyboard.nextDouble();    System.out.println ("Please enter the objects velocity in meters per second: "); velocity = keyboard.nextDouble();    double actualTotal = kineticEnergy (mass, velocity); System.out.println ("Objects Kinetic Energy: " + actualTotal); } public static double kineticEnergy (double mass, double velocity) { double totalkineticEnergy =...
import java.util.Random; class Conversions { public static void main(String[] args) { public static double quartsToGallons(double quarts)...
import java.util.Random; class Conversions { public static void main(String[] args) { public static double quartsToGallons(double quarts) { return quarts * 0.25; } public static double milesToFeet(double miles) { return miles * 5280; } public static double milesToInches(double miles) { return miles * 63360; } public static double milesToYards(double miles) { return miles * 1760; } public static double milesToMeters(double miles) { return miles * 1609.34; } public static double milesToKilometer(double miles) { return milesToMeters(miles) / 1000.0; } public static double...
Consider this program: public class Main { public static void main(String[] args) { String s1 =...
Consider this program: public class Main { public static void main(String[] args) { String s1 = "hello"; String s2 = "hello"; String s3 = new String("hello"); System.out.println(s1 == s2); System.out.println(s2 == s3); System.out.println(s2.equals(s3)); } } When we run the program, the output is: true false true Explain why this is the output, using words and/or pictures.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT