0

I'm fairly new to java, so don't think this is some idiot. Anyways, I've been trying to make a program that can read a certain letter from the console and then decide which operation to use, let's say to add. However, I can't get an If loop to read the variable that decides which operator to use, here is the code, and please help.

import java.util.Scanner;


class Main {

  public static void main(String[] args) {
       Scanner user_input = new Scanner( System.in );
        int number;
        String function;
        System.out.println("What Do You Want to Do? (a to add; s to" + 
       " subrtact; d to divited; m to multiply, and sq to square your nummber.)" );
        function = user_input.next();
        if (function == "sq"){
            System.out.print("Enter your number: ");
            number = user_input.nextInt();
            System.out.print(number * number);
        } else {
            System.out.println("Unidentified Function!");
  }
}
}

(I made the description shorter so that it would fit).

Snow_Cheetah
  • 5
  • 1
  • 4

3 Answers3

1

If you use hasNext() on a scanner it will wait for an input until you stop the program. Also using equals() is a better way of comparing strings.

while(user_input.hasNext()){
                function = user_input.next();
                if (function.equals("s")){
                    System.out.print("Enter your number: ");
                    number = user_input.nextInt();
                    System.out.print(number * number);
                } else {
                    System.out.println("Unidentified Function!");
                }
            }
Peymon
  • 41
  • 7
1

This is just an example to get you started in the right direction.

import java.util.Scanner;

public class Example {

    public static void main(String[] args) {
        Scanner user_input = new Scanner(System.in);
        int num1, num2, result;

        System.out.println("What Do You Want to Do? (a to add; s to"
                + " subrtact; d to divited; m to multiply, and s to square your nummber.)");

        String choice = user_input.next();

        // Add
        if (Character.isLetter('a')) {
            System.out.println("Enter first number: ");
            num1 = user_input.nextInt();
            System.out.println("Enter second number: ");
            num2 = user_input.nextInt();

            result = num1 + num2;
            System.out.println("Answer: " + result);
        }
    }
}
emmojo
  • 481
  • 5
  • 11
0
 Scanner s = new Scanner(System.in);
    String str = s.nextLine();
int a=s.nextInt();
int b=s.nextInt();
    if(str.equals("+"))
    c=a+b;
    else if(str.equals("-"))
    c=a-b;
    else if(str.equals("/"))
    c=a/b;
    // you can add operators as your use
    else
    System.out.println("Unidentified operator" );

I hope it helps!