日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

算法笔记_156:算法提高 6-17复数四则运算(Java)

發布時間:2025/6/15 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法笔记_156:算法提高 6-17复数四则运算(Java) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1 問題描述

2 解決方案

?


1 問題描述

設計復數庫,實現基本的復數加減乘除運算。
  輸入時只需分別鍵入實部和虛部,以空格分割,兩個復數之間用運算符分隔;輸出時按a+bi的格式在屏幕上打印結果。參加樣例輸入和樣例輸出。
  注意考慮特殊情況,無法計算時輸出字符串"error"。 樣例輸入 2 4 * -3 2 樣例輸出 -14-8i 樣例輸入 3 -2 + -1 3 樣例輸出 2+1i

?

?


2 解決方案

此題判斷錯誤主要在除法運算上,除法運算有可能獲得小數,所以在獲取輸入數字時,就得用double類型來定義,但是下面的代碼在系統評分中有一組數據無法通過,改了好幾遍,選擇放棄>~<...

具體代碼如下:

import java.util.Scanner;public class Main {public void getResult(String A) {String result = "";String[] temp = A.split(" ");double a = Integer.valueOf(temp[0]);double b = Integer.valueOf(temp[1]);double c = Integer.valueOf(temp[3]);double d = Integer.valueOf(temp[4]);if(temp[2].equals("+")) {a = a + c;c = b + d;} else if(temp[2].equals("-")) {a = a - c;c = b - d;} else if(temp[2].equals("*")) {double a1 = a;a = a*c - b*d;c = a1*d + b*c;} else if(temp[2].equals("/")) {double a1 = a;if(c*c + d*d == 0) {System.out.println("error");return;}a = (a*c + b*d) / (c*c + d*d);c = (b*c - a1*d) / (c*c + d*d);}if(!temp[2].equals("/")) {int a1 = (int) a;int c1 = (int) c;if(c1 >= 0) result = result + a1 + "+" + c1 + "i";elseresult = result + a1 + c1 + "i";} else {if(c >= 0) result = result + a + "+" + c + "i";elseresult = result + a + c + "i";}System.out.println(result);}public static void main(String[] args) {Main test = new Main();Scanner in = new Scanner(System.in);String A = in.nextLine();test.getResult(A);} }

?

?

?

總結

以上是生活随笔為你收集整理的算法笔记_156:算法提高 6-17复数四则运算(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。