1,105,328 Community Members

Scanner Input from Keyboard help

Member Avatar
yingfo
Newbie Poster
13 posts since Sep 2008
Reputation Points: 36 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Hi, I'm trying to write a java program that will read in the scanner input from a user and outputs an postfix expression and answer
so if you typed in:
A = 5
B = 7
$PART2
AB+

the output would be
AB+ = 12

I'm having trouble with the scanner input I can make it so a user
can enter a letter and a number, but I'm having trouble trying to make the program shift so when the user enters $PART2 it will then begin to read in the post fix expressions.

If anyone could help I would greatly appreciate it.

import java.util.*;
import java.io.*;
import java.util.Scanner;
import java.util.Stack;


public class PostEval
{

 static public void main(String args[])
 {

     Scanner scanner = new Scanner(System.in);
  Stack<String> postFix = new Stack<String>();
  String part2 = "$PART2";
     System.out.println("Input Letter and Number it equals: ");
  while(scanner.hasNext())
  {
        String letter = scanner.next();
     char equals=(scanner.next()).charAt(0);
        int number = scanner.nextInt();
     System.out.println("You Inputted:"+ letter+ equals+ number);
     if(letter == "$PART2")
     {
         while(scanner.hasNext())
         {
           String postfix = scanner.nextLine();
           System.out.println(postfix);
         }
     }
   
  }
Member Avatar
BestJewSinceJC
Posting Maven
2,760 posts since Sep 2008
Reputation Points: 700 [?]
Q&As Helped to Solve: 366 [?]
Skill Endorsements: 17 [?]
 
0
 

if(letter == "$PART2")

You can't test a String's contents by using '=='. It only works for primitive types, String is an Object. Use the String class's equal method

Member Avatar
stephen84s
Nearly a Posting Virtuoso
1,328 posts since Jul 2007
Reputation Points: 550 [?]
Q&As Helped to Solve: 160 [?]
Skill Endorsements: 13 [?]
Featured
 
0
 

if(letter == "$PART2")

You can't test a String's contents by using '=='. It only works for primitive types, String is an Object. Use the String class's equal method

Just correcting, he means the equals() method of the String class

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article