帮忙看看这个简单的题目哪里错了~北邮oj上的·谢谢了~

crystal555 2010-03-26 11:30:57
麻烦帮忙看哪里错了~一直wa,是北邮oj上的1555题目地址是http://acm.scs.bupt.cn/onlinejudge/showproblem.php?problem_id=1555&submit=Go 还有就是那个输入的时候怎么格式化输入啊,我这么做太麻烦了,麻烦帮写个具体的输入代码给我谢谢了~
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
String ex=cin.next();
int l=ex.length();
double a,b;
int loc=ex.indexOf(",");
String op=ex.substring(0, 2);
a=Double.valueOf(ex.substring(2,loc));
b=Double.valueOf(ex.substring(loc+1,l));
if(op.equals("D:")){
System.out.printf("X:%.3f\n",Math.sqrt(a*a+b*b));
}
else{
System.out.printf("D:%.3f\n",Math.sqrt(a*a-b*b));
}
}
}
...全文
300 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
crystal555 2010-03-27
  • 打赏
  • 举报
回复
up~~帮帮忙啊~谢谢大家了~~
crystal555 2010-03-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 guobinperfect 的回复:]
lz是什么意思?
[/Quote]

哦~那个网址貌似今天进不去了~
题目大概就是这个意思:
用勾股定理求直角三角形边长,如果输入的时候是D:3.000,4.000,则这两个数代表两个直角边长,输出就应该是X:5.000,如果输入是X:5.000,3.000就代表输入的是一个斜边和一个直角边,输出就应该是D:3.000。然后输出的时候保留三位小数,我提交到OnlineJudge上的时候一直显示Wrong Answer~不知道为什么 感觉没错啊~
然后就是输入的时候scanner默认的应该是空格和回车吧,如何把输入的比如D:3.000,4.000分开啊?如可以把D,3.000,4.000分别识别出来?有没有像c里面的这种方法
scanf("%c:%f,%f",&InputSign,&Temp1,&Temp2);

再次谢谢大家了~~
KAKUKYOWU 2010-03-27
  • 打赏
  • 举报
回复
具体的计算没太说明白,不过还是写点儿吧
package a;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);
String line = scan.next();
String[] strArr = line.split(",");
double a = Double.valueOf(strArr[0]);
double b = Double.valueOf(strArr[1]);
System.out.printf("X:%.3f\n", Math.sqrt(a * a + b * b));
System.out.printf("D:%.3f\n", Math.sqrt(a * a - b * b));
}
}
24K純帥 2010-03-27
  • 打赏
  • 举报
回复
麻烦LZ说明白点,我只能说这代码木有问题
TheThinker1 2010-03-27
  • 打赏
  • 举报
回复
把你的原题目写出来吧,弄个这样的,不知道你想做啥啊
TheThinker1 2010-03-27
  • 打赏
  • 举报
回复
lz是什么意思?

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧