Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Onp1 {
- public static void main(String[] args) {
- String[] onp = new String[args.length];
- int j = 0;
- String[] stack = new String[10];
- int stackPosition = -1;
- for(String str: args)
- {
- onp[j] = "";
- if(str.endsWith("=")){
- for(int i=0; i< str.length(); i++)
- if(str.charAt(i) >= '0' && str.charAt(i) <= '9' || str.charAt(i) == '.'){
- onp[j] += str.charAt(i);
- if(!(str.charAt(i+1) >= '0' && str.charAt(i+1) <= '9' && str.charAt(i+1) == '.'))
- onp[j] += " ";
- }
- else{
- switch(str.charAt(i)){
- case '-':
- case '+':{
- while(stackPosition >= 0 && !stack[stackPosition].equals("( ")){
- onp[j] += stack[stackPosition] + " ";
- --stackPosition;
- }
- stack[++stackPosition] = str.charAt(i) + " ";
- break;
- }
- case '*':
- case '/':{
- while(stackPosition >= 0 && !stack[stackPosition].equals("( ") && !stack[stackPosition].equals("- ") && !stack[stackPosition].equals("+ ")){
- onp[j] += stack[stackPosition] + " ";
- --stackPosition;
- }
- stack[++stackPosition] = str.charAt(i) + " ";
- break;
- }
- case '^':
- while(stackPosition >= 0 && !stack[stackPosition].equals("( ") && !stack[stackPosition].equals("- ") && !stack[stackPosition].equals("+ ") && !stack[stackPosition].equals("* ") && !stack[stackPosition].equals("/ ")){
- onp[j] += stack[stackPosition] + " ";
- --stackPosition;
- }
- stack[++stackPosition] = str.charAt(i) + " ";
- break;
- case '(':
- stack[++stackPosition] = str.charAt(i) + " ";
- break;
- case ')':
- while(stackPosition >= 0 && !stack[stackPosition].equals("( ")){
- onp[j] += stack[stackPosition] + " ";
- --stackPosition;
- }
- --stackPosition;
- break;
- case '=':
- while(stackPosition >= 0 && !stack[stackPosition].equals("( ")){
- onp[j] += stack[stackPosition] + " ";
- --stackPosition;
- }
- onp[j] += str.charAt(i) + " ";
- break;
- default:
- break;
- }
- }
- }
- else
- System.out.println(str + ": Bledne rownanie");
- System.out.println(args[j]);
- System.out.println(onp[j]);
- j++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement