java 求球的体积

public class Volume
{
public static void main(String [] args)
{
double r=0,v=0;
r=double.parseDouble(args[0]);
v=4*3.14159/3*r*r*r;
System.out.println(
“球体积为:”+v);
}
}
求助,问题出在哪了?

没有输入啊,你看看
import java.util.*;

public class Volume
{
public static void main(String [] args)
{
System.out.print("请输入r:");
Scanner reader=new Scanner(System.in);
double r=0,v=0;
r=reader.nextDouble();
v=4*3.14159/3*r*r*r;
System.out.println("球体积为:"+v);

}
}追问

那上面的程序,怎么才能输入呢?能不能通过cmd输入呢?麻烦啦!
你的程序我也试着编译了一下,有这样的一个错误: 错误: 类Volume是公共的, 应在名为 Volume.java 的文件中声明

追答

我的可以运行呢,是cmd啊

你要把Java文件的名字改为Volume.java

可以用么?

追问

嗯,谢啦!还想问一下,你用的软件是?Eclipse?

追答

就是在windows用cmd命令编译的,初学者

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-20
1:输入一个圆半径r,如果r大于零,计算并输出面积和周长,否则输出提示信息。
#include<stdio.h>
#define PI 3.1415926
int main(int argc, char **argv)
{
double r = -1;
printf("请输入半径r:\n");
scanf("%lf", r);
if(r >= 0)
printf("圆的面积为:%lf\n", PI*r*r);
else
printf("圆的半径不能为0或负数\n");
return 0;
}

2:编写程序,计算下面数列的和,当第一次出现的和值能被7整除且大于1000时求和终止并输出结果。
1*3,3*5,5*7,7*9,……,(2*n-1)*(2*n+1) …… (15分)
#include<stdio.h>
void main()
{
int n,sum=0;
for(n=1;;n++)
{
sum+=(2*n-1)*(2*n+1);
if(sum%7==0&&sum>1000)
break;
}
printf("%d\n",sum);
}

3:利用随机函数为一个15个元素的一维数组(10-99)赋值并输出原始数据,将该数组按从大到小的顺序进行排序,输出排序后的数组。。 (20分)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
main()
{
int arr[10],i,j,temp;
srand(time(0));
for(i=0;i<10;i++)
{
arr[i]=rand()%101+10;
printf("%4d",arr[i]);
}
printf("\n");
for(i=0;i<10-1;i++)
{
for(j=0;j<10-i-1;j++)
{
if(arr[j]<arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(i=0;i<10;i++)
{
printf("%4d",arr[i]);
}
printf("\n");
}

4:设计一个函数,求任意两个正整数的最大公约数。在主函数中调用此函数,并计算3696和2352的最大公约数。(20分)
#include <stdio.h>
main()
{
int gcd(int m,int n);
int x,y,result;
x=3696;
y=2352;
result = gcd(x,y);
printf("%d和%d的最大公约数为:%d\n",x,y,result);
}
int gcd(int m,int n)
{
int r;
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
return n;
}
110001100
/*1: 输出500至1000之间的所有素数之和.(15分)*/
#include<stdio.h>
#include<math.h>
void main()
{
int n,i,sum=0;
for(n=500;n<=1000;n++)
{
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
break;
if(i>sqrt(n))
sum+=n;
}
printf("所求之和为:%d\n",sum);
}

2:求分数序列:2/1,3/2,5/3,8/5,13/8 ……的前20项的和值并输出 (15分)
#include <stdio.h>
#include <math.h>
main()
{
int i,count=0;
double sum=0.0;
int a1,a2,b1,b2,a3,b3;
a1=2; //第1项分子
a2=3; //第2项分子
b1=1; //第1项分母
b2=2; //第2项分母
sum = sum + a1*1.0/b1;
printf("%d/%d + ",a1,b1);
sum = sum + a2*1.0/b2;
printf("%d/%d ",a2,b2);
for(i=3;i<=20;i++)
{
a3=a1+a2;
b3=b1+b2;
printf(" + %d/%d",a3,b3);
sum = sum + a3*1.0/b3;
a1=a2;
b1=b2;
a2=a3;
b2=b3;
}
printf(" = %.2lf\n",sum);

}

3:编写一个判断素数的函数。调用该函数,计算并输出区间[1000,2000]内所有素数的平均值,结果保留2位小数。(20分)
#include <stdio.h>
#include <math.h>
main()
{
int i,count=0;
double sum=0.0;
for(i=1000;i<=2000;i++)
{
if(prime(i)==1)
{
sum+=i;
count++;
}
}
sum=sum/count;
printf("1000--2000间素数之平均:%.2lf\n",sum);

}
int prime(int val)
{
int re=0;
int i;
for(i=2;i<=sqrt(val);i++)
if(val%i==0)
break;
if(i>sqrt(val))
re=1;
else
re=0;
return re;
}

4:求一维数组中最大的三个元素的平方根之和,A数组的数据位56,78,98,45,58,34,12,90,26,88(思路:先排序确定最大三元素位置,然后计算输出)。 。 (20分)
#include <stdio.h>
#include <math.h>
main()
{
int i,j,temp;
int a[10]={56,78,98,45,58,34,12,90,26,88};
double sum=0.0;
for(i=0;i<10-1;i++)
{
for(j=0;j<10-i-1;j++)
{
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
for(i=0;i<3;i++)
sum+=sqrt(a[i]);
printf("最大3数平方根 = %.2lf\n4d",sum);
}
1000111000
1: 输入任意的三角形的三条边(a,b,c),如果输入的三条边不能构成三角形,给出提示错误信息并退出,如果构成三角形,则输出三角形的面积(结果保留两位小数)和周长。假设a=5,b=8,c=7;将结果复制到下面文本框中。提示:借助于海伦公式。(15分)
#include<stdio.h>

#include<math.h>
void main()
{
int a,b,c;
double p,s;
scanf("%d%d%d",&a,&b,&c);
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
p=(double)(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));//海伦公式
printf("该三角形面积为:%.2lf\n该三角形周长为:%d\n",s,(a+b+c));
}
else
printf("该三边构不成三角形,请重新输入!");
}

2:编写程序,计算下面数列的和,当第一次出现的和值能被7整除且大于1000时求和终止并输出结果。

1*3,3*5,5*7,7*9,……,(2*n-1)*(2*n+1) …… (15分)
#include<stdio.h>
void main()
{
int n,sum=0;
for(n=1;;n++)
{
sum+=(2*n-1)*(2*n+1);
if(sum%7==0&&sum>1000)
break;
}
printf("%d\n",sum);
}

3:设计一个过程(函数或子程序):计算n!=1×2×3×…×n。用主调函数过程调用这个过程并 计算n=20时的值 (20分)

#include<stdio.h>
void main()
{
unsigned long jc(int n);
unsigned long jg;
jg=jc(20);
printf("%ul\n",jg);
}
unsigned long jc(int n)
{
int i;
unsigned long f=1;
for(i=1;i<=n;i++)
f*=i;
return f;
}

4:由程序随机产生一个一维数组,并且使每个数组元素n为10到100之间的正整数,把小于所有元素平均值的数据存放到一个新的一维数组中输出之。。 (20分)

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int a[10],b[10],i,j,count=0,sum=0;
double avg;
srand(time(NULL));
for(i=0;i<10;i++)
{
a[i]=rand()%91+10;
sum+=a[i];
}
avg=(double)sum/10;
for(i=0,j=0;i<10;i++)
if(a[i]<avg)
{
b[j++]=a[i];
count++;
}
for(i=0;i<count;i++)
printf("%6d",b[i]);
printf("\n");
}
110001
1: 编程输出300至500之间能同时被5和7整除的所有数据的和(15分)
#include <stdio.h>
main()
{
int i;
double sum=0;
for(i=300;i<=500;i++)
{
if(i%5==0 && i%7==0)
sum+=i;
}
printf("300至500之间能同时被5和7整除数之和:%.0lf\n",sum);
}

2:编写程序,求下面数列的前若干项的积,直到第一次出现积小于0.0001为止,并输出此时的积为多少。结果保留6位小数。
1/(1×2),1/(3×4),1/(5×6),……,1/((2n-1)×(2n)),…… (15分)
#include <stdio.h>
main()
{
int i;
double result=1.0;
i=1;
for(i=1;;i++)
{
result = result * 1.0/( (2*i-1)*(2*i) );
if(result<0.0001)
break;
}
printf("乘积:%.6lf\n",result);
}

3:设计一个函数,求任意两个正整数的最大公约数。在主函数中调用此函数,并计算3696和2352的最大公约数。(20分)
#include <stdio.h>
main()
{
int gcd(int m,int n);
int x,y,result;
x=3696;
y=2352;
result = gcd(x,y);
printf("%d和%d的最大公约数为:%d\n",x,y,result);
}
int gcd(int m,int n)
{
int r;
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
return n;
}

4:利用随机函数为一个15个元素的一维数组(10-99)赋值并输出原始数据,将该数组按从大到小的顺序进行排序,输出排序后的数组。。 (20分)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
main()
{
int arr[15],i,j,temp;
srand(time(0));
for(i=0;i<15;i++)
{
arr[i]=rand()%90+10;
printf("%4d",arr[i]);
}
printf("\n");
for(i=0;i<15-1;i++)
{
for(j=0;j<15-i-1;j++)
{
if(arr[j]<arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(i=0;i<15;i++)
{
printf("%4d",arr[i]);
}
printf("\n");
}
相似回答