| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1596 人关注过本帖
标题:HELP!JAVA题。(菜鸟级)问题见代码!
只看楼主 加入收藏
qiuligao
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-8-11
收藏
 问题点数:0 回复次数:21 
HELP!JAVA题。(菜鸟级)问题见代码!

我从论坛里找了这么一道题,然后想增加修改一下,可是因为刚接触JAVA,所以有些问题不会改,求助斑竹和各位大侠! 原题是,输入三个数,最后得出乘积。 改后想法,输入三个数和一个符号(+ ,- ,* ,/),根据判断后进行相应的运算并得出结果! 代码写的有点垃圾,请谅解! 问题? 怎么能取到用户输入的运算符号。 import javax.swing.JOptionPane; public class G10s { public static void main(String[] args) { String firstNumber; String secondNumber; String thirdNumber; String F[] = new String[3]; int one; int two; int three; int fuhao; int result; F[0]="+"; F[1]="-"; F[2]="*"; F[3]="/";

firstNumber=JOptionPane.showInputDialog("输入第一个整数"); secondNumber=JOptionPane.showInputDialog("输入第二个整数"); thirdNumber=JOptionPane.showInputDialog("输入第三个整数"); F[3]=JOptionPane.showInputDialog("输入第四个整数");

one = Integer.parseInt(firstNumber); two= Integer.parseInt(secondNumber); three = Integer.parseInt(thirdNumber); fuhao= Integer.parseInt(F[3]);

switch(JOptionPane.showInputDialog (F[3])){ case 0: result=one+two+three; break; case 1: result=one-two-three; break; case 2: result=one*two*three; break; case 3: result=one/two/three; break; default : System.out.print("输入有误"); }

JOptionPane.showMessageDialog(null,"结果是" + result,"求3个整数算法", JOptionPane.PLAIN_MESSAGE);

} } 33行有误。 found: java.lang.string

搜索更多相关主题的帖子: JAVA HELP String 代码 
2005-08-15 14:32
qiuligao
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-8-11
收藏
得分:0 
看了看又改了改!

import javax.swing.JOptionPane; public class G10s { public static void main(String[] args) { String firstNumber; String secondNumber; String thirdNumber; String F[] = new String[3]; int one; int two; int three; String fuhao; int result; F[0]="+"; F[1]="-"; F[2]="*"; F[3]="/";

firstNumber=JOptionPane.showInputDialog("输入第一个整数"); secondNumber=JOptionPane.showInputDialog("输入第二个整数"); thirdNumber=JOptionPane.showInputDialog("输入第三个整数"); F[3]=JOptionPane.showInputDialog("输入符号");

one = Integer.parseInt(firstNumber); two= Integer.parseInt(secondNumber); three = Integer.parseInt(thirdNumber); fuhao= Integer.parseInt(F[3]);

switch(JOptionPane.showInputDialog (F[3])){ case 0: result=one+two+three; break; case 1: result=one-two-three; break; case 2: result=one*two*three; break; case 3: result=one/two/three; break; default : System.out.print("输入有误"); }

JOptionPane.showMessageDialog(null,"结果是" + result,"求3个整数算法", JOptionPane.PLAIN_MESSAGE);

} }

2005-08-15 15:15
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
import javax.swing.JOptionPane;
public class G10s
{
  public static void main(String[] args)
  {
    String firstNumber;
    String secondNumber;
    String thirdNumber;
    String F[] = new String[4];
  
    int one;
    int two;
    int three;
    String fuhao;
    int result = 0;
    boolean inputValid = true;  
    F[0]="+";
    F[1]="-";
    F[2]="*";
    F[3]="/";

    firstNumber=JOptionPane.showInputDialog("输入第一个整数");
    secondNumber=JOptionPane.showInputDialog("输入第二个整数");
    thirdNumber=JOptionPane.showInputDialog("输入第三个整数");
    fuhao = JOptionPane.showInputDialog("输入符号");

    one = Integer.parseInt(firstNumber);
    two= Integer.parseInt(secondNumber);
    three = Integer.parseInt(thirdNumber);
   
    if(fuhao.equals("+"))
      result = one + two + three;
    else if(fuhao.equals("-"))
      result = one - two - three;
    else if(fuhao.equals("*"))
      result = one * two * three;
    else if(fuhao.equals("/") && two != 0 && three != 0)
      result = one / two / three;
    else
      inputValid = false;
    if(inputValid)   
      JOptionPane.showMessageDialog(null,"结果是 " + result,"求3个整数算法",
                               JOptionPane.PLAIN_MESSAGE);
    else
      JOptionPane.showMessageDialog(null, "Input invalid.",
                                   "Input error", JOptionPane.ERROR_MESSAGE);
  }
}

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-15 17:21
qiuligao
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-8-11
收藏
得分:0 
thanks!
2005-08-16 08:31
qiuligao
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-8-11
收藏
得分:0 
版主,你这两句是什么意思?
 boolean inputValid = true;
 JOptionPane.showMessageDialog(null, "Input invalid.",
                                   "Input error", JOptionPane.ERROR_MESSAGE);
版主你真棒!!
2005-08-16 08:41
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
作为判断啊,如果输入正常的话,就输入结果,也就是显示那个显示结果的对话框,

否则的话,就显示那个出错对话框。


自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-16 10:16
qiuligao
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-8-11
收藏
得分:0 

版主,我又试了试,不用定义也行!是吧? 还要麻烦你一件事,我用switch语句实现不了这个程序吗? import javax.swing.JOptionPane; public class G10t { public static void main(String[] args) { String firstNumber; String secondNumber; String thirdNumber; int one; int two; int three; String fuhao; int result = 0; int d; boolean inputValid = true;

firstNumber=JOptionPane.showInputDialog("输入第一个整数"); secondNumber=JOptionPane.showInputDialog("输入第二个整数"); thirdNumber=JOptionPane.showInputDialog("输入第三个整数"); fuhao = JOptionPane.showInputDialog("输入符号");

one = Integer.parseInt(firstNumber); two= Integer.parseInt(secondNumber); three = Integer.parseInt(thirdNumber); d= Integer.parseInt(fuhao); switch (d) { case '+': result = one + two + three; case '-': result = one - two - three; case '*': result = one * two * three; case '/': result = one / two / three; } JOptionPane.showMessageDialog(null,"结果是 " + result,"求3个整数算法", JOptionPane.PLAIN_MESSAGE); } } 我还是太笨了!麻烦了!

2005-08-16 11:16
qiuligao
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-8-11
收藏
得分:0 
是不用定义数组也行!
2005-08-16 13:35
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 
那个fuhao变量怎么能parse成int呢?

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2005-08-16 21:34
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
看来你很喜欢用switch, 其实也没有什么不可以,程序在两处地方做了改动,其余地方没有变动,
但必须要讲的是,你的这个程序很脆弱,因为你的这个程序的正确运行是建立在合法输入的基础上,
也就是说一旦输入不合法,那么程序就出错了,没有任何补救的可能,所以这样的程序是不合格的。
import javax.swing.JOptionPane;
public class G10t
{
  public static void main(String[] args)
  {
    String firstNumber;
    String secondNumber;
    String thirdNumber;
  
    int one;
    int two;
    int three;
    String fuhao;
    int result = 0;
    int d;
    boolean inputValid = true;  

    firstNumber=JOptionPane.showInputDialog("输入第一个整数");
    secondNumber=JOptionPane.showInputDialog("输入第二个整数");
    thirdNumber=JOptionPane.showInputDialog("输入第三个整数");
    fuhao = JOptionPane.showInputDialog("输入符号");
    char cFuhao =fuhao.charAt(0);                                 // here pay attention

    one = Integer.parseInt(firstNumber);
    two= Integer.parseInt(secondNumber);
    three = Integer.parseInt(thirdNumber);
  //  d= Integer.parseInt(fuhao);
  
   
    switch(cFuhao)                      // and here pay attention
    {
      case '+':
        result = one + two + three; break;
      case '-':
        result = one - two - three; break;
      case '*':
        result = one * two * three; break;
      case '/':
        if(two != 0 && three != 0)
          result = one / two / three; break;
    }
    JOptionPane.showMessageDialog(null,"结果是 " + result,"求3个整数算法",
                              JOptionPane.PLAIN_MESSAGE);
  }
}

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-17 06:17
快速回复:HELP!JAVA题。(菜鸟级)问题见代码!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021810 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved