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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

捕获.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. }
复制代码
回复 使用道具 举报
现在答没有分了么
回复 使用道具 举报
领个题目看看!
回复 使用道具 举报
我来领题了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马