Java程序:输入圆的半径,输出圆的周长和面积。(用eclipse编)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序:输入圆的半径,输出圆的周长和面积。(用eclipse编)相关的知识,希望对你有一定的参考价值。

Java在eclipse运行程序老是出现错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at sun.输入圆的半径.main(输入圆的半径.java:11)

步骤如下:

public static void main(String args[])

double p =3.1415926 ;

double r;

System.out.println("请输入半径");

Scanner s = new Scanner(System.in);

r = Double.parseDouble(s.next());

System.out.println("圆的面积为"+p*r*r);

System.out.println("圆的周长为"+p*2*r);

注意:java里不知道有没有π的常量 这里我就直接打数字了

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

JCP(Java Community Process)是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新Java技术规范、参考实现(RI)、技术兼容包(TCK)。

JCP维护的规范包括Java ME、Java SE、Java EE、XML、OSS、JAIN等。组织成员可以提交JSR(Java Specification Requests),通过特定程序以后,进入到下一版本的规范里面。

JSR是早期提议和最终发布的Java平台规范的具体描述。通常,一个新的JSR的提出是为了增加或者规范Java平台的功能。某个具体的JSR由专家组共同来制定,工作由组长协调。例如,CLDC1.0(Connected Limited Device Configuration,JSR30)由Sun公司的Antero Taivalsaari担任组长,同时专家组的成员还包括Siemens、Motorola、Nokia、Symbian等。Java ME平台规范是在JSR68中定义的,规范组长是Sun公司的Jon Courtney。

JSR完成后,相关的规范及JavaAPI会在JCP的官方网站发布。设备制造商可以在自己的产品中实现某个JSR,如MIDP2.0(JSRll8)。但是这些都必须要通过TCK(Technology Compatibility Kit)测试以确保技术兼容性。

按照技术类别可以分成以下几类:

1、J2EE平台规范

2、J2SE平台规范

3、J2ME平台规范

4、运营支持系统规范(OSS)

5、综合网络的Java 应用(JAIN)

6、XML 操作规范

参考资料:Java (计算机编程语言)-百度百科



参考技术A

步骤如下:

public static void main(String args[])

double p =3.1415926 ;

double r;

System.out.println("请输入半径");

Scanner s = new Scanner(System.in);

r = Double.parseDouble(s.next());

System.out.println("圆的面积为"+p*r*r);

System.out.println("圆的周长为"+p*2*r);


扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

参考资料:百度百科-JAVA

参考技术B

步骤如下:

public static void main(String args[])

double p =3.1415926 ;

double r;

System.out.println("请输入半径");

Scanner s = new Scanner(System.in);

r = Double.parseDouble(s.next());

System.out.println("圆的面积为"+p*r*r);

System.out.println("圆的周长为"+p*2*r);



注意:java里不知道有没有π的常量 这里我就直接打数字了

拓展资料

Java工作原理

由四方面组成:

(1)Java编程语言

(2)Java类文件格式

(3)Java虚拟机

(4)Java应用程序接口

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类 ,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

参考资料来源:百度百科:Java

参考技术C

报错ArrayIndexOutOfBoundsException,一般就是越界了。而且你写的程序也没有打印输出。

参考代码如下:

import java.util.Scanner;

public class Circle

public static void main(String[] args)

// TODO Auto-generated method stub

System.out.println("请输入半径:");

Scanner sc = new Scanner(System.in);

int r = sc.nextInt();

/*通过new Scanner(System.in)创建一个Scanner,

控制台会一直等待输入,直到敲回车键结束,

把所输入的内容传给Scanner,作为扫描对象。

要获取输入的内容,则只需要调用Scanner的nextInt()方法*/

double area = 0,girth=0;  

area = r*r*3.14;//面积

girth = 3.14*r*2;//周长

System.out.println("该圆的面积为:"+area);

System.out.println("该圆的周长为:"+girth);

拓展资料:

越界问题一般来说都是数组问题。数组下标不对称。 

1.java.lang.ArrayIndexOutOfBoundsException是运行时异常, 编译器是不会知道的,只有运行时jvm才能捕获到.

2.jvm为何能捕获到,数组在运行时是由jvm创建的一个东西,是用机器指令创建的。类似于汇编指令, 先根据你声明的长度分别为每个元素赋值,压栈, 而对于数组的长度也是由一个特定的指令来得到的, 也会压到栈中。这就是你为什么能用a.length得到数组长度的原因, 并且jvm在读写数组元素时都会有与数组长度比较的指令, 如果越界则抛出异常。

3.java数组很特别, 它不像c语言的数组, 而更像c语言的字符串, c语言字符串有一个字符串搜索结尾符号, 而java数组在数组的结尾处写了一个数组长度(我不敢确定这样描述是不是正确, 但是数组长度确实是压到栈中了, 并且是在压完数组数据后压的), 这样, jvm通过一条指令就能快速得到数组长度。

我之前看过一篇文章就是专门说数组这东西是不是类的问题, 结论是它是一个类, 但是里面没有任何属性和方法, 类名就是 [ , 是一种特殊的原生类, 完全是由jvm临时产生, 而不是程序员写。

4.没有length属性为什么用.length就能得到长度, 原因就是写jvm的人用机器指令, 可能是汇编什么的直接读栈得到的。

5.每次读写时都要做一次判断, 这个判断是必要的, 如果你不判断, 如何去抛出异常呢。

参考技术D public static void main(String args[])
double p =3.1415926 ;

double r;

System.out.println("请输入半径");

Scanner s = new Scanner(System.in);

r = Double.parseDouble(s.next());

System.out.println("圆的面积为"+p*r*r);
System.out.println("圆的周长为"+p*2*r);





java里不知道有没有π的常量 这里我就直接打数字了本回答被提问者采纳

C++ 设计一个圆类,计算圆的面积和周长。

1.定义一个园(circle),属性为半径(radins)、圆周长和面积,操作为输入半径并计算周长、面积、输出半径和面积。要求定义构造函数(以半径为参数。默认值为0,周长和面积在构造函数中生成)和复制构造函数。

2.定义一个point类,派生出Rectangle类和Circle类,计算各派生类对象的面积。

3.有一个交通工具类vehicle,将它作为基类派生小车类car,卡车类truck和轮船类boat,定义这些类并定义一个虚函数用来显示各类信息。

三道路题目解决下,谢谢各位了 ,一题10分

1.
class Circle

public:
Circle():r(0), leng(0), area(0)

Circle(const int rm):r(rm)
leng = 2 * pi * rm;
area = pi * rm * rm;

Circle& Circle(Circle& other)
r = other.r;
leng = other.leng;
area = other.area;
return *this;


void setR(const double rm)

r = rm;
leng = 2 * pi * r;
area = pi * r * r;

void output()

cout<<"r is "<<r<<", "<<"area is "<<area<<endl;


private:
double r;
double leng;
double area;
;
2.
#include <iostream>
using namespace std;

const double pi = 3.14;
//Point类,派生出Rectangle类和Circle类,计算各派生类对象的面积Area()。
template <class T>
class Point

public:
Point()
Point(const T x, const T y);
Point& operator= (const Point<T>&p);

public:
T x;
T y;
;

template <class T>
Point<T>::Point(const T x, const T y)

this->x = x;
this->y = y;

template <class T>
Point<T>& Point<T>::operator= (const Point<T>&p)

this->x = p.x;
this->y = p.y;
return *this;


template <class T>
class Shape

public:
virtual double Area() = 0;
;
template <class T>
class Rectangle:public Shape<T>

public:
Rectangle(const Point<T>& p1, const Point<T>& p2);
double Area();
private:
Point<T> pLT;
Point<T> pRD;
;

template <class T>
Rectangle<T>::Rectangle(const Point<T>& p1, const Point<T>& p2)

pLT = p1;
pRD = p2;

template <class T>
double Rectangle<T>::Area()

T w = pLT.x - pRD.x;
T h = pLT.y - pRD.y;
if(w<0) w = -w;
if(h<0) h = -h;
return double(w * h);

//Circle
template <class T>
class Circle:public Shape<T>

public:
Circle(const Point<T>& p1, const T& r);
double Area();
private:
Point<T> origin;
T r;
;

template <class T>
Circle<T>::Circle(const Point<T>& p1, const T& r)

origin = p1;
this->r = r;

template <class T>
double Circle<T>::Area()

return pi * r * r;

int main()

Point<int> p1(9, 0);
Point<int> p2(1, 2);
Rectangle<int> R(p1, p2);
Circle<int> C(p1, 10);
printf("Rectangle ' Area is %f\n", R.Area());
printf("Circle ' Area is %f\n", C.Area());
return 0;

3.
#include <iostream>
using namespace std;

class vehicle

public:
virtual void run()cout<<"vehicle is run."<<endl;
;
class Car:public vehicle

public:
void run()cout<<"Car is run."<<endl;
;

inclass truck:public vehicle

public:
void run()cout<<"truck is run."<<endl;
;
class boat:public vehicle

public:
void run()cout<<"boat is run."<<endl;
;

int main()

vehicle *p1 = new Car;
p1->run();
vehicle *p2 = new truck;
p2->run();

vehicle *p3 = new boat;
p3->run();
vehicle *p4 = new vehicle;
p4->run();

delete p1;
delete p2;
delete p3;
delete p4;

return 0;
参考技术A #include<iostream>
#include<cmath>
using namespace std;
class Circle
double r,Area,Circumference;
public:
Circle(double a=0);
Circle(Circle &);

void SetR(double R);
double GetR()return r;
double GetAreaCircle()return Area;
double GetCircumference()return Circumference;
;
Circle::Circle(double a)
r=a;
Area=r*r*3.14159265;
Circumference=2*r*3.14159265;

Circle::Circle(Circle & cl)
r=cl.r;
Area=cl.Area;
Circumference=cl.Circumference;


void Circle::SetR(double R)
r=R;
Area=r*r*3.14159265;
Circumference=2*r*3.14159265;

第二个我还不熟悉写,我尽力了.不采纳没关系

以上是关于Java程序:输入圆的半径,输出圆的周长和面积。(用eclipse编)的主要内容,如果未能解决你的问题,请参考以下文章

使用java,从键盘输入圆的半径,求圆的周长和圆的面积并输出?

Java编写Java应用程序,完成从键盘输入圆的半径,求圆的周长和面积并输出结果的功能

java scanner输入,控制台输出。输入圆的半径,计算圆的周长和面积

Java作业 输入圆的半径计算输出圆的周长和面积

用java 编写一个程序,要求输入圆的半径,求圆的周长,面积.

编写java代码:输入圆半径,输出周长和面积,要求采用符号常量