Question

In: Computer Science

public static void main(String[] args) {            //Part1: using three stacks           ...

public static void main(String[] args) {
           //Part1: using three stacks
           iQueue<Integer> main = new ourLinkedList<Integer>();
          
           for (int i = 0; i<10; i++) {
               int num = -15 + (int) (Math.random() * ((15 - (-15)) + 1));
           main.add(num);
           }
          
           System.out.println("main: " +main);

           iQueue<Integer> Q1 = new ourLinkedList<Integer>();
           iQueue<Integer> Q2 = new ourLinkedList<Integer>();
           while(!main.isEmpty()) {
               if (main.peek() < 0)
                   Q1.add(main.remove());
              
              
               else
               Q2.add(main.remove());
      
       }
       //empty back the stacks in the correct order
       while (!Q1.isEmpty() && !Q2.isEmpty()) {
           main.add(Q1.remove());
      
           main.add(Q2.remove());
      
       }
           System.out.println("answer: " +main);
           }
   }

//This is my code using 2 constructor. I want this code to use single constructor(you dont have to change main constructor) just Q1 and Q2 and replace it with constructor Q1. this code generates alternating positive and negative numbers using the random generator. but just change the method that has following members (add, remove, isEmpty, size(), and peek() that returns front without removing it)

Solutions

Expert Solution

public static void main(String[] args) {
           //Part1: using three stacks
           iQueue<Integer> main = new ourLinkedList<Integer>();
          
           for (int i = 0; i<10; i++) {
               int num = -15 + (int) (Math.random() * ((15 - (-15)) + 1));
               main.add(num);
           }
          
           System.out.println("main: " +main);

           iQueue<Integer> Q1 = new ourLinkedList<Integer>();
           iQueue<Integer> Q2 = new ourLinkedList<Integer>();

            



            /*
             * this method will only work when number of +ve numbers and number of -ve numbers are equal.
             *
             * and your previous code will also work on the above condition only .
             */



                //    Q1 will be like + - + - + -
           while(!main.isEmpty()) {
               if(Q1.size() %2 == 0 && main.peek() >= 0){  // if Q1 size is even and main's first element is +ve;    

                   Q1.add(main.remove());
               }
               else if(Q1.size() % 2 == 1 && main.peek() < 0){  // if Q1 size is odd and main's first element is -ver;
                   Q1.add(main.remove());
               }
               else{   // if nothing add the first element to last
                    main.add(main.remove());
               }
           }

           // copy Q1 into main 
           // main will be - + - + - +
           while(!Q1.isEmpty()){
               main.add(Q1.remove());
           }

           System.out.println("answer: " +main);
           }
   }

Related Solutions

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.
public class Main { public static void main(String [] args) { int [] array1 = {5,...
public class Main { public static void main(String [] args) { int [] array1 = {5, 8, 34, 7, 2, 46, 53, 12, 24, 65}; int numElements = 10; System.out.println("Part 1"); // Part 1 // Enter the statement to print the numbers in index 5 and index 8 // put a space in between the two numbers and a new line at the end // Enter the statement to print the numbers 8 and 53 from the array above //...
---------------------------------------------------------------------------- public class Main { public static void main(String[] args) { int[] A = {11, 12,...
---------------------------------------------------------------------------- public class Main { public static void main(String[] args) { int[] A = {11, 12, -10, 13, 9, 12, 14, 15, -20, 0}; System.out.println("The maximum is "+Max(A)); System.out.println("The summation is "+Sum(A)); } static int Max(int[] A) { int max = A[0]; for (int i = 1; i < A.length; i++) { if (A[i] > max) { max = A[i]; } } return max; } static int Sum(int[] B){ int sum = 0; for(int i = 0; i --------------------------------------------------------------------------------------------------------------------------- Convert...
class Main { public static void main(String[] args) {        int[] array = {1,2,3,4,5};   ...
class Main { public static void main(String[] args) {        int[] array = {1,2,3,4,5};        //Complexity Analysis //Instructions: Print the time complexity of method Q1_3 with respect to n=Size of input array. For example, if the complexity of the //algorithm is Big O nlogn, add the following code where specified: System.out.println("O(nlogn)"); //TODO }    public static void Q1_3(int[] array){ int count = 0; for(int i = 0; i < array.length; i++){ for(int j = i; j < array.length;...
public class OOPExercises {     public static void main(String[] args) {         A objA = new...
public class OOPExercises {     public static void main(String[] args) {         A objA = new A();         B objB = new B();         System.out.println("in main(): ");         System.out.println("objA.a = "+objA.getA());         System.out.println("objB.b = "+objB.getB());         objA.setA (222);         objB.setB (333.33);       System.out.println("objA.a = "+objA.getA());         System.out.println("objB.b = "+objB.getB());     } } Output: public class A {     int a = 100;     public A() {         System.out.println("in the constructor of class A: ");         System.out.println("a = "+a);         a =...
public class GreeterTest {    public static void main(String[] args)    { // create an object...
public class GreeterTest {    public static void main(String[] args)    { // create an object for Greeter class Greeter greeter = new Greeter("Jack"); // create two variables Greeter var1 = greeter; Greeter var2 = greeter; // call the sayHello method on the first Greeter variable String res1 = var1.sayHello(); System.out.println("The first reference " + res1); // Call the setName method on the secod Grreter variable var2.setName("Mike"); String res2 = var2.sayHello(); System.out.println("The second reference " + res2);    } }...
public class ArraySkills { public static void main(String[] args) { // *********************** // For each item...
public class ArraySkills { public static void main(String[] args) { // *********************** // For each item below you must code the solution. You may not use any of the // methods found in the Arrays class or the Collections classes // You must use Java's built-in Arrays. You are welcome to use the Math and/or Random class if necessary. // You MUST put your code directly beneath the comment for each item indicated. String[] myData; // 1. Instantiate the given...
------------------------------------------------------------------------------------ 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...
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();       ...
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...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT