Java problem
Hej jag är inte så erfaren inom javaprogrammering, men håller på och gör ett litet program här.
Tanken då är att man ska kunna ge olika inputs som till exempel dessa 4:
1. 4 + 5
2. 7.0 + 5.0
3. 5 < 5
4. "tjena" + "läget"
och sedan få programmet att känna igen vad det är för data man matat in. Vad den är av för typ: arithmetic, comparison, concantenation.
Vad det är för datatyp: int, boolean, string.
Hittils har jag fått programmet att fungera och göra uträkningar men skulle behöva lite hjälp för att kunna få det att känna igen vad det är för sorts input.
Jag klistrar in koden här nedan och tackar så mycket på förhand för hjälp.
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.Event.*;
import static javax.swing.JOptionPane.*;
import java.lang.NumberFormatException;
public class app3 {
public static void main(String[]args){
String data = showInputDialog ("input:");
String [] tokens = data.split (" ");
double a = Double.parseDouble(tokens[0]);
String resultA = "";
double b;
boolean compResult;
for (int i=2; i<tokens.length; i=i+2){
b=Double.parseDouble(tokens[i]);
if (tokens[i-1].equals("+")){
a=a+b;
resultA = String.valueOf(a);
}
else if(tokens[i-1].equals("-")){
a=a-b;
resultA = String.valueOf(a);
}
else if(tokens[i-1].equals("*")){
a=a*b;
resultA = String.valueOf(a);
}
else if(tokens[i-1].equals("/")){
a=a/b;
resultA = String.valueOf(a);
}
else if(tokens[i-1].equals("<")){
compResult = a<b;
resultA = String.valueOf(compResult);
} // else if <
else if(tokens[i-1].equals(">")){
compResult = a>b;
resultA = String.valueOf(compResult);
} // else if >
}
System.out.println("Type:x , Datatype:x , Answer: " + (resultA));
}
}