A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

必须占坑!
回复 使用道具 举报
我来领题啦
回复 使用道具 举报
赞一个!!!
回复 使用道具 举报
我也来试试
回复 使用道具 举报
主要目的是领黑马币,顺便学习一下
回复 使用道具 举报
来学习,尝试做一下
回复 使用道具 举报
不管怎样 看看题 也是好的:lol
回复 使用道具 举报
计算器,练练手
回复 使用道具 举报
终于好了,断断续续

捕获.PNG (78.73 KB, 下载次数: 24)

捕获.PNG

CalculateDemo.zip

874 Bytes, 阅读权限: 200, 下载次数: 1

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
前来领题:lol
回复 使用道具 举报
交答案。以前源文件没写过注释,以后开始尝试增加注释,望阳哥别笑话(注释是有点磕馋:L)

Demo21.rar

37.02 KB, 阅读权限: 200, 下载次数: 1

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
题先领了,以后再做
回复 使用道具 举报
mark~     
回复 使用道具 举报
不为求分,只想练习编程:lol
回复 使用道具 举报
Doug 中级黑马 2015-4-12 18:32:13
395#
回帖领分~
回复 使用道具 举报
Doug 中级黑马 2015-4-12 19:53:23
396#
求技术分~


calc.zip

14.44 KB, 阅读权限: 200, 下载次数: 2

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报

赞一个:
  1. /*
  2. * 要求:用Java代码实现一个简单的计算器(实现加减乘除功能),
  3. * 操作过程如下:
  4. * 用户在控制台中输入第一个数,
  5. * 然后系统自动提示用户选择操作(加、减、乘、除、计算)项,
  6. * 然后让用户输入第二个数字,
  7. * 然后系统自动提示用户选择操作项....以此类推。
  8. * 等一个计算完成后提示用户是退出还是继续使用。
  9. * */


  10. import java.util.Scanner;

  11. public class Calculator {
  12.         private static boolean flag = true;

  13.         public static void main(String[] args) {
  14.                 myCal();
  15.                 // System.out.println(addBracket("3.0+5.0*7.0/2.0"));
  16.         }

  17.         /**
  18.          * 需要记住上次的运算结果,记住上一次的运算符。
  19.          */
  20.         private static void myCal() {
  21.                 StringBuilder sb = new StringBuilder();

  22.                 Scanner sc = new Scanner(System.in);
  23.                 System.out.println("请输入数字:");
  24.                 double result = Double.valueOf(sc.nextLine());
  25.                 sb.append(result);

  26.                 System.out.println("请选择要进行的操作:加(+)、减(-)、乘(*)、除(/)");
  27.                 String operator = null;
  28.                 operator = sc.nextLine();
  29.                 sb.append(operator);

  30.                 while (true) {
  31.                         System.out.println("请输入数字:");
  32.                         double thisNo = Double.valueOf(sc.nextLine());
  33.                         sb.append(thisNo);
  34.                         switch (operator) {
  35.                         case "+":
  36.                                 result += thisNo;
  37.                                 break;
  38.                         case "-":
  39.                                 result -= thisNo;
  40.                                 break;
  41.                         case "*":
  42.                                 result *= thisNo;
  43.                                 break;
  44.                         case "/":
  45.                                 result /= thisNo;
  46.                                 break;
  47.                         }
  48.                         System.out.println("请选择要进行的操作:加(+)、减(-)、乘(*)、除(/)、计算(p)");
  49.                         operator = sc.nextLine();

  50.                         if ("p".equals(operator)) {
  51.                                 System.out.println(addBracket(sb.toString()) + "=" + result);
  52.                                 break;
  53.                         }
  54.                         sb.append(operator);
  55.                 }
  56.         }

  57.         public static String addBracket(String str) {
  58.                 String s = str.replaceAll("([\\+\\-\\*/])(\\d+\\.\\d+)", "$1$2\\)");
  59.                 int count = s.split("\\)").length;
  60.                 StringBuilder sb = new StringBuilder();
  61.                 for (int i = 0; i < count; i++) {
  62.                         sb.append("\\(");
  63.                 }
  64.                 String regex = sb + "$1";
  65.                 String ss = s.replaceFirst("(\\d)", regex);
  66.                 return ss;
  67.         }
  68. }
复制代码
回复 使用道具 举报
现在答没有分了么
回复 使用道具 举报
领个题目看看!
回复 使用道具 举报
我来领题了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马