Topic: 关于一个符号问题

  Print this page

1.关于一个符号问题 Copy to clipboard
Posted by: AchillesA
Posted on: 2004-07-31 19:59

import mytools.*;
class Operatorer
{

float multiplication(float i,float j){
return i*j;
}
public static void main(String[] args) {
float k = Float.parseFloat(args[0]);
float l = Float.parseFloat(args[2]);
Operatorer o = new Operatorer();
if (args[1].equals("x"))// 为什么这里不能用"*"号
{
p.rintln(args[0]+"乘以"+args[2]+"得"+o.multiplication(k,l));
}
}
}
当我把if里面的args[1].equals("x"))中的比较字符改成"*"时,编译的时候就有错误发生,但是改为“/”,“+”,“-”都没有问题,难道“*”有什么特殊的地方吗?
好象这里就是只排斥“*”,其它几个符号都能正常运行

2.Re:关于一个符号问题 [Re: AchillesA] Copy to clipboard
Posted by: bluepure
Posted on: 2004-08-01 12:32

* 是通配符 ,被 java.exe优先处理掉了.

3.Re:关于一个符号问题 [Re: AchillesA] Copy to clipboard
Posted by: AchillesA
Posted on: 2004-08-02 21:45

那这样为什么还是有问题:
/**关于算术运算的练习*/
import mytools.*;
class Operatorer
{
   float division(float i,float j){
    return i/j;
  }
   float multiplication(float i,float j){
    return i*j;
  }
   float addition(float i,float j){
    return i+j;
  }
float subtraction(float i,float j){
    return i-j;
  }
  public static void main(String[] args) {
  float k = Float.parseFloat(args[0]);
  float l = Float.parseFloat(args[2]);//将字符串转换为int
  char d = '*';
  Operatorer o = new Operatorer();
  if (args[1].equals("/"))
  {
p.rintln(args[0]+"除以"+args[2]+"得"+o.division(k,l));
  }
  if (d==args[0].charAt(1))// 为什么这里不能用"*"号
  {
   p.rintln(args[0]+"乘以"+args[2]+"得"+o.multiplication(k,l));
  }
  if (args[1].equals("+"))
  {
p.rintln(args[0]+"加上"+args[2]+"得"+o.addition(k,l));
  }
  if (args[1].equals("-"))
  {
p.rintln(args[0]+"减去"+args[2]+"得"+o.subtraction(k,l));
  }
}
}

4.Re:关于一个符号问题 [Re: AchillesA] Copy to clipboard
Posted by: zslzx
Posted on: 2004-08-03 23:54

if (d==args[0].charAt(1))// 为什么这里不能用"*"号
{
改成
if (d==args[1].charAt(0))// 为什么这里不能用"*"号
{


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923