When I try popping everything off my stack, it leaves the last item alone. The size comes out correct when I print it out, so that cant be the issue, I think. Also, it doesnt even print it out if I do
for(int i = 0; i <= s1.Size() + 1; i++)
it still leaves one value left. What am I doing wrong?
public class Test {
public static void main(String[] args) {
Stack<String> s1 = new Stack<String>();
s1.Push("first");
s1.Push("2nd");
s1.Push("3rd");
s1.Push("4th");
System.out.println(s1);
try {
System.out.println("
The top item is: " + s1.Peek());
Below is a method that is suppose to insert a value inside a stack based on the index. I thought it would be easier to copy the value, if any, that was in the index into the variable holder and replace it with the input value. After in which it would copy the holder value and place it at the top of the stack. (topOfStack variable is what the holder is copying too.)
public void pushExact (int index, String input) { String holder = ""; if (maxSize == 0) { theStack[topOfStack] = input; topOfStack++; } else if (topOfStack + 1 < maxSize) { for (int n= maxSize - 1;n >= 0;n--) {
I'm supposed to add characters to a stack and pop them once the adjacent delimiter is read in from a text file. Moreover, program is supposed to print out the incoming text from the file, but stop when the applicable delimiter is not on top of the stack. As in, a '[' doesn't have a ']'.
I've got the program so it can pop and add to the stack correctly, and stops adding at the correct time, but I cant seem to get it to stop printing. I know a switch statement method in another class seems obvious, but I was trying to practice nested loops.
This is the main program:
import java.io.*; import java.util.Scanner; import java.io.IOException; import java.util.Stack; public class DelimiterChecker { public static void main(String [] args) throws IOException {
I had to write a foor loop to count the values of a stack of quarters from 1.00 to 3.00 and I had to print the values, that I understood and got it working so I taught the next assignment was going to be easier but I am having a hard time with it. For this one I have to write a for loop to print all the positive integer factors of 144 and I am supposed to print of factor per line but I tried doing that but it doesn't work it just prints out 144.
This is my code. The quarter assignment is also in there because it is part of a lab so just ignore that part since it is working correctly.
public class ForLoopPractice { public static void main(String [] args) { // Write a for loop to count out the values of a stack of quarters from $1.00 to $3.00 // Print the value of each iteration. Print this all on one line, rounded to the nearest cent. // To print rounded, use printf, with a placeholder of %.2f // (%f is the floating-point placeholder; the .2 indicates the number of decimal places) /* YOUR CODE HERE */ for (double q = 1.00; q <= 3.00; q += .25)
This is supposed to be a method that adds stars after each item in the list.
Java Code:
import java.util.ArrayList; public class ClientProgram { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("the");
[Code] ...
I'm guessing it's because list.size() changes, though but it should only find that value in the beginning, so it shouldn't be a problem?
I have an application that has a text field I want to use Jfilechooser to save or save As the data.
If the file already exisits i want the end user to be able to hit save without the dialog box popping up asking for a file name folder etc, like it would in MS Word etc..
I am trying to print a loop inside an array of a greater size than the loop itself. Like for example I have an array of size 7 but it has only 3 elements.
now what I want to do is print these three numbers in a loop so that my array[3]=2;array[4]=3;array[5]=4 ...... till the last one. Also the array could be any size and not just 7.
Here's the code: it's while loop inside a for loop to determine the proper length of a variable:
for (int i = 0; i < num; i++) { horse[i]=new thoroughbred(); boolean propernamelength = false; while (propernamelength==false){ String name = entry.getUserInput("Enter the name of horse "
[code]....
I was just wondering what was going on here -- I've initialized the variable, so why do I get this message? (actually the carat was under the variable name inside the parentheses.
I have everything else working. My problem is that when i type "quit" to close the outer loop. It still runs the inner loop. The National Bank manager wants you to code a program that reads each clients charges to their Credit Card account and outputs the average charge per client and the overall average for the total number of clients in the Bank.
Hint: The OUTER LOOP in your program should allow the user the name of the client and end the program when the name entered is QUIT.In addition to the outer loop, you need AN INNER LOOP that will allow the user to input the clients charge to his/her account by entering one charge at a time and end inputting the charges whenever she/he enters -1 for a value. This INNER LOOP will performed the Add for all the charges entered for a client and count the number of charges entered.
After INNER LOOP ends, the program calculates an average for this student. The average is calculated by dividing the Total into the number of charges entered. The program prints the average charge for that client, adds the Total to a GrandTotal, assigns zero to the Total and counter variables before it loops back to get the grade for another client.Use DecimalFormat or NumberFormat to format the numeric output to dollar amounts.
The output of the program should something like this:
John Smith average $850.00 Maria Gonzalez average $90.67 Terry Lucas average $959.00 Mickey Mouse course average $6,050.89 National Bank client average $1,987.67
Code:
public static void main(String[] args) { Scanner scan = new Scanner(System.in); String name = ""; int charge = 0; int count = -1; int total = 1; int grandtotal = 0; int average = 0;
after i am done calculating everything from numbers stack, i pop the last number and return it... my question is how can i catch an exception if the size of my numbers stack is greater than 1;
public static String evaluate(String input) { char[] a = input.toCharArray(); if (input.isEmpty()) return "No input"; else if (input.equals(" ")) return "No input"; else if (input.equals(" "))
Write a method compressDuplicates that accepts a stack of integers as a parameter and that replaces each sequence of duplicates with a pair of values: a count of the number of duplicates, followed by the actual duplicated number. For example, suppose a variable called s stores the following sequence of values:
This new stack indicates that the original had 5 occurrences of 2 at the bottom of the stack followed by 2 occurrences of -5 followed by 4 occurrences of 3, and so on. This process works best when there are many duplicates in a row. For example, if the stack instead had stored:
bottom [10, 20, 10, 20, 20, 10] top
Then the resulting stack after the call ends up being longer than the original:
bottom [1, 10, 1, 20, 1, 10, 2, 20, 1, 10] top
If the stack is empty, your method should not change it. You may use one queue as auxiliary storage to solve this problem. You may not use any other auxiliary data structures to solve this problem, although you can have as many simple variables as you like. You may not use recursion to solve this problem. For full credit your code must run in O(n) time where n is the number of elements of the original stack.
I wrote a code but still having a problem with it , am I allowed to use 3 while loops ?
public void compressDuplicates(Stack<Integer> s ){ Stack<Integer> backup= new Stack<Integer>(); int count = 1; while(!s.isEmpty()){ int temp = s.pop();
For my classes I wrote I have puts strings into a stack and also a queue and am wondering how to take the top of the stack and the front of the queue and turn those into strings in my main class and run them through while loops that will detect if they are palindromes or not. Right now I am trying to peek and use first to put in my while loop but they don't work with the .charAt because they are not considered strings I think.
import java.util.Stack; public class Palindrome { public static void main(String[] args) { // TODO Auto-generated method stub String enteredLine; int leftStack, rightStack; int leftQueue, rightQueue;
In my application a series of inputs and a calculated result. At the end of each loop these inputs and calculations are displayed. After the loop is over with the user does not enter a string that is "y" or "Y", I want these inputs and the calculation to be displayed in a First in First Out format or a stack. I am using a LinkedList that is used in a class creating a stack.
Here is the code for my stack.
Java Code:
import java.util.LinkedList; public class GenericStack<E> { LinkedList<E> stack = new LinkedList<>(); public void Push(E element) { stack.addFirst(element);
[Code] ....
Here is the code containing the main method. The methods other than the main method are probably not relevant to the problem, but take a look if you like.
Java Code:
import java.util.*; import java.text.*; public class FutureValueApp { public static void main(String[] args) { GenericStack<String> stack = new GenericStack<>();
[Code] ....
The stack seems to be adding the same inputs and the same calculation from the first loop, even when it is on it's 2nd or third loop. I am getting this output.
Java Code:
Monthly Inv.Int. RateYearsFuture Value $5.002.0%5$315.76 $5.002.0%5$315.76 mh_sh_highlight_all('java');
I tried to write a program to implement a stack but it has a bug I am unable to solve.The bug is that whenever I choose an operation to perform, eg push, After performing the operation, the loop is executed once again and Invalid choice message appears, i.e. the default case. And then the loop again executes to choose further option. Here is my code
class Stack { private char[] stck; private int len; private int top;
I am getting a stack overflow error for my method that recursively gets the height of an AVL tree. The odd thing is that it returns the height of the tree the first time I call that method, but when I call it again later on, I get that error, which I does not make any sense to me. I have a base case, where it is supposed to stop when the node is null, but it never reaches that. Also, when I print out the values, it alternates b/w three values: 5, 4, and 24. Something else, which I think is important to state, is that if I put the print statement before my base case, the IF, I get a warning stating that my entire IF statement is dead code...but why?
is that everytime I insert/delete a value into the AVL tree I must make sure that it is height balanced (none of the siblings may have a difference in height from each other > 1); if its not height then I rotate certain nodes accordingly. The first 10 items that I input are: 100, 50, 24, 200, 190, 10, 5, 190, 100 and 4. The pre and in order prints of these, from the console are:
I am working on implementing a stack using a linked list. Programming the stack operations (push, pop, isEmpty, etc.) was easy but my directions were to provide the user with a menu to choose the operation that he/she wishes to perform. I am new to JFrames/Menus so how to make the stack operations available in a menu.
I'm trying to create a class that takes an String from a Stack and checking if it's a palindrome than taking a another String from a queue and checking if that is also a palindrome.
import java.util.Stack; public class Palindrome { public static void main(String[] args) { // TODO Auto-generated method stub String enteredLine; int leftStack, rightStack; int leftQueue, rightQueue; PalinedromeArray stack1 = new PalinedromeArray();
Right now I have three stacks. Each stack holds characters, with the normal operations of pushing and popping. I am trying to compare two characters from stack1 and stack2(each character is a digit character). I would like to be able to do arithmetic on the digit characters and the push the answer on to a result stack.
Ex.) I pop character '3' from stack1 and '5' from stack2. Then I add the two. equaling '8' and pushing that character on to the result stack. This will hopefully in turn allow me to add arbitrary large numbers that integers will not support.
I am having trouble because I believe I am getting some ascii character values when I pop off the result stack. here is a small piece of my code
public void addition() { char temp1 ,temp2; int i = s1.getSize(); for(int j= 0;j<i;j++) { temp1 = s1.pop(); temp2 = s2.pop(); if(temp1+temp2>=10)
I have a Char stack: ArrayStack<Character> stek=new ArrayStack<>();
The stack is filled with numbers and characters (only '+' and '*' ), but I need to make calculations, so I need the INT values of the numbers i pop from the stack. So each time I need to make a calculation, I have to pop two numbers, convert them into INT ,then add/multiply them, and put them back into the stack again, but as CHAR (because the stack is not accepting them to be added as INT)
int a= Character.getNumericValue(stek.pop()); //stack no1 int b= Character.getNumericValue(rezultat.pop()); //stack no2 int tmp=a*b; char tmp2 = (char) tmp; stek.push(tmp2);
I have to implement all the stack methods in java such as push, pop empty, not using the ready methods but have to create them and to execute an exercise but is sth wrong with it
public class Stiva { /** the problem is here how to declare the stack 1 and stack 2 and kreu(head) gjmax(size)*/ int Gjmax; int array[] = new int[Gjmax]; int kreu; private Stiva stiva1; private Stiva stiva2;
I have the following code where I call panel repaint method from the action listener of the calc button but it causes stack over flow but when I modify it to call paint component method and removing the super term, the program executes. here is the code
Im trying to create a linked stack that will hold the starting directory to the current directory, so that when i finish a directory it would go back to the parent. as i go through the files in a directory and find a child directory, i have to stack current directory and process the child directory, when thats done, pop the parent from the stack and continue processing it. Here is my code:
//import io File and ioexception import java.io.File; import java.io.IOException;
/*create class that will take a path to a directory, print the name of the argument directory, print the name of each file and directory in argument directory. Prints the directory name and each file and directory inside*/
public class dirStackPrint
[Code] .....
when I run the program, nothing prints, why is that? I'm having trouble understanding the processing of the top, push and pop functions, i have them in my code but they don't seem to be working as they should?
I have to implement all the stack methods in java such as push, pop empty, not using the ready methods but have to create them and to execute an exercise but something wrong with it....
public class Stiva { /** the problem is here how to declare the stack 1 and stack 2 and kreu(head) gjmax(size)*/ int Gjmax; int array[] = new int[Gjmax]; int kreu; private Stiva stiva1; private Stiva stiva2;