Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static ComplexNumber parse(String s) throws NumberFormatException {
- boolean[] signs = { true, true };
- String[] numbers = { "", "" };
- double re = 0.0;
- double im = 0.0;
- if (s.startsWith("-")) {
- signs[0] = false;
- s = s.substring(1);
- } else if (s.startsWith("+")) {
- s = s.substring(1);
- }
- if (s.contains("-")) {
- signs[1] = false;
- numbers = s.split("-");
- } else if (s.contains("+")) {
- numbers = s.split("\\+");
- } else {
- numbers[0] = s;
- }
- for (int i = 0; i < 2; i++) {
- if (numbers[i].contains("i")) {
- if (numbers[i].equals("i")) {
- im = 1;
- } else {
- im = Double.parseDouble(numbers[i].replace("i", ""));
- }
- if (!signs[i]) {
- im = -im;
- }
- } else if(!numbers[i].equals("")){
- re = Double.parseDouble(numbers[i]);
- if (!signs[i]) {
- re = -re;
- }
- }
- }
- return new ComplexNumber(re, im);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement