2 、(5分)简单的四则运算
import java.util.*;
public class Test022 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String tmp = sc.nextLine();
for(int i=0;i<n;i++) {
String str = sc.nextLine();
char[] arr = str.toCharArray();
int flag = 0;
for(char a: arr) {
if(a=='+')flag=1;
if(a=='-')flag=2;
if(a=='*')flag=3;
if(a=='/')flag=4;
if(a=='%')flag=5;
}
if(flag==1) {
String[] str1 = str.split("[+]");
float f1 = Float.parseFloat(str1[0]);
float f2 = Float.parseFloat(str1[1]);
System.out.printf("%.2f\n",f1+f2);
}
if(flag==2) {
String[] str1 = str.split("[-]");
float f1 = Float.parseFloat(str1[0]);
float f2 = Float.parseFloat(str1[1]);
System.out.printf("%.2f\n",f1-f2);
}
if(flag==3) {
String[] str1 = str.split("[*]");
float f1 = Float.parseFloat(str1[0]);
float f2 = Float.parseFloat(str1[1]);
System.out.printf("%.2f\n",f1*f2);
}
if(flag==4) {
String[] str1 = str.split("[/]");
float f1 = Float.parseFloat(str1[0]);
float f2 = Float.parseFloat(str1[1]);
System.out.printf("%.2f\n",f1/f2);
}
if(flag==5) {
String[] str1 = str.split("[%]");
int f1 = Integer.parseInt(str1[0]);
int f2 = Integer.parseInt(str1[1]);
System.out.printf("%d\n",f1%f2);
}
}
}
}
输入:
标准输入一个浮点数r(r>0),代表需要计算的球的半径.
输出:
标准输出,根据输入的球半径r,依次输出球表面积、圆球体积和直径的侧面积大小,数据间由一个空格隔开,结果保留2位有效数字。
测试用例输入:
3
测试用例输出:
113.04 113.04 28.26
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.*;
public class Test3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
float a = sc.nextFloat();
float b,c,d;
b = (float) (3.14f*4.0f*a*a);
c = 3.14f*4f/3f*a*a*a;
d = 3.14f*a*a;
DecimalFormat df = new DecimalFormat("0.00");
df.setRoundingMode(RoundingMode.HALF_UP);
String b1 = df.format(b);
String c1 = df.format(c);
String d1 = df.format(d);
System.out.print(b1+" "+c1+" "+d1+" ");
}
}
我们能够通过海伦公式计算已知一个三角形三边长度的三角形面积,如果三角形的三边长为a,b,c,三角形的面积计算公式描述如下:
要求你完成MyMath对象中的trianglearea法的实现,如果参数a,b,c的值不能构成一个三角形,使用异常进行处理,产生无效三角形异常,如果a,b,c中有负数,产生参数无效异常,根据题目要求请你完成异常类型和MyMath类型的设计。MyMath设计代码如下:
import java.util.*;
public class MyMath
{
public static double trianglearea(double a,double b,double c)
throws NotTriAngleException,NegativeArgementsException{
//判定a,b,c是否全为正数
//判定a,b,c是否能构成三角形
//计算三角形面积
double s;
}
public static void main(String[] args)
{
double a,b,c;
int N;
Scanner sc= new Scanner(System.in);
N = sc.nextInt();
for(int i=0;i<N;i++){
a=sc.nextDouble();
b=sc.nextDouble();
c=sc.nextDouble();
System.out.printf("%.2f\n",MyMath.trianglearea(a,b,c));
}
}
}
class NotTriAngleException extends Exception
{
}
class NegativeArgementsException extends Exception
{
}
输入:
输入的第一行为一个正整数N(N>0),表示以下有N行数据,每行为一个三角形边的输入信息,原则上是由空格隔开的三个浮点数,但也可能由于输入错误产生非正常情况。
输出:
如果某行三角形边数据能读入三个浮点数,输出方法trianglearea计算结果,保留2位小数,如果发生异常直接输出异常信息;每个三角形计算信息使用一行输出;如果某行三角形边数据读入出现问题,直接退出程序的运行。
测试1输入:
3
3 4 5.0
1 1 2
-2 4.0 3
测试1输出:
6.00
Not TriAngle
Negative Argements
测试2输入:
3
3 4 5.0
1a 1 2
-2 4.0 3
测试2输出:
6.00
import java.util.*;
import java.math.*;
public class MyMath
{
public static double trianglearea(double a,double b,double c)
throws NotTriAngleException,NegativeArgementsException{
//判定a,b,c是否全为正数
if(a<0||b<0||c<0) {
throw new NegativeArgementsException("Negative Argements");
}
//判定a,b,c是否能构成三角形
if(a+b>c&&a+c>b&&b+c>a) {
}
else {
throw new NotTriAngleException("Not TriAngle");
}
//计算三角形面积
double p = (a+b+c)/2d;
double s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
public static void main(String[] args)
{
double a,b,c;
int N;
Scanner sc= new Scanner(System.in);
N = sc.nextInt();
for(int i=0;i<N;i++){
try {
a=sc.nextDouble();
b=sc.nextDouble();
c=sc.nextDouble();
System.out.printf("%.2f\n",MyMath.trianglearea(a,b,c));
} catch (NotTriAngleException e1) {
//System.out.println("Not TriAngle");
System.out.println(e1.getMessage());
} catch (NegativeArgementsException e2) {
// TODO Auto-generated catch block
System.out.println(e2.getMessage());
} catch (Exception e) {
System.exit(0);
}
}
}
}
class NotTriAngleException extends Exception
{
public NotTriAngleException(String message) {
super(message);
//System.out.println("Not TriAngle");
}
}
class NegativeArgementsException extends Exception
{
public NegativeArgementsException(String message) {
super(message);
//System.out.println("Negative Argements");
}
}