问题描述

  用户输入圆的半径,计算并显示圆的面积

代码分享

/**
* @author hpu-gs
* 2015/11/25
*/
public class Circle {
public static Double r;
public static Double m; /**
* 计算圆的面积
*/
public static void main(String[] args) {
System.out.print("请输入圆的半径:");
Scanner in = new Scanner(System.in);
r = in.nextDouble();
m = Math.PI*r*r;
System.out.println("圆的面积是:"+m);
EventQueue.invokeLater(new Runnable() {//事物分配线程,进行显示窗口
@Override
public void run() {
JFrame frame = new SimpleFrame();
frame.setTitle("求圆面积");//设置窗口的左上角标题
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口事件
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenWidth = screenSize.width;//获取屏幕的宽度
int screenhHeight = screenSize.height;//获取屏幕的长度
frame.setLocation(screenWidth/2-250, screenhHeight/2-100);//设置窗口在屏幕上的显示位置
Image image = new ImageIcon("Image/image.png").getImage();//设置窗口的左上角图标
frame.setIconImage(image);
frame.setVisible(true);//启动显示窗口
}
});
} } //设计窗口
class SimpleFrame extends JFrame{
private static final int DEFAULT_WIDTH = 300;
private static final int DEFAULT_HEIGHE = 200;
public SimpleFrame(){
add(new NotHelloWordComponent());//将文本填充到窗口
pack();//调整窗口大小
// setSize(DEFAULT_WIDTH, DEFAULT_HEIGHE);//设置窗口的大小
}
} //在窗口中显示文本信息
class NotHelloWordComponent extends JComponent{
public static final int MESSAGE_X = 120;
public static final int MESSAG_Y = 100; private static final int DEFAULT_WIDTH = 500;
private static final int DEFAULT_HEIGHE = 200;
public void paintComponent(Graphics g){
g.drawString("半径为:"+new Circle().r+"的圆,面积为:"+new Circle().m, MESSAGE_X, MESSAG_Y);//在窗口中显示文字
}
@Override
public Dimension getPreferredSize() {
return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHE);//返回组件的首选大小
}
}

JAVA基础代码分享--求圆面积的更多相关文章

  1. JAVA基础代码分享--学生成绩管理

    问题描述: 从键盘读入学生成绩,找出最高分,并输出学生成绩等级. 成绩>=最高分-10  等级为’A’   成绩>=最高分-20  等级为’B’ 成绩>=最高分-30  等级为’C’ ...

  2. JAVA基础代码分享--DVD管理

    问题描述 为某音像店开发一个迷你DVD管理器,最多可存6张DVD,实现碟片的管理. 管理器具备的功能主要有: 1.查看DVD信息. 菜单选择查看功能,展示DVD的信息. 2.新增DVD信息 选择新增功 ...

  3. JAVA基础代码分享--模拟人机猜拳系统

    问题描述: 一.主要功能: .电脑与人互动,实现“剪刀.石头.布”的游戏: 1.1 角色登陆: ******************** ***欢迎进入猜拳游戏*** **************** ...

  4. 如何学习java?Java基础知识点分享

    面对未知的行业,人们的第一反应应该是:拒绝踏入.因为学习真的是一个痛苦的过程.想要真正了解一个行业,熟知一个行业,并熟练掌握某一技术,是真的需要时间和精力的.在学习Java基础知识期间,千锋小编疯狂为 ...

  5. java 基础代码

    /** * Created by y0n on 2017/4/17. * 1.输出控制台传递的默认参数 */public class JavaDay001_1 { public static void ...

  6. Java基础12-数组求最大值以及排序

    1.求最大值 实例:小明买手机,询问了4家店的价格,分别是2800,2900,2600,3000,输出最低价 正确代码:类似打擂台,将数组第一个值赋给最小值,然后依次比较 import java.ut ...

  7. nuxt项目打包上线,以及nuxt项目基础代码分享

    nuxt的项目部署到线上环境,有多种方法,这里分享我使用的方法,一步步照着配置,就可以配置成功~ (1)项目先执行npm run build 打包好   (2)服务器安装node 和pm2依赖 服务器 ...

  8. [Java基础]代码块及java反编译

    块的作用域:   块(即复合语句)是指一对花括号括起来的若干条简单的java语句.块确定了变量的作用域.一个块可以嵌套在另一个块中.但是,在嵌套的两个块中声明同名的变量时应注意,块中变量申明在块外变量 ...

  9. Java基础学习分享

    一.Java介绍 Java是由原Sun公司(现已被甲骨文公司收购)于1991年开发的编程语言,初衷是为智能家电的程序设计提供一个分布式代码系统.为了使整个系统与平台无关,采用了虚拟机器码方式,虚拟机内 ...

随机推荐

  1. 基于java平台的常用资源整理

    这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...

  2. java分享第十九天(TestNg的IReporter接口的使用)

     IReporter接口是干嘛的?就是让用户自定义报告的,很多人想要自定义报告,于是乎找各种插件,比如什么testng-xslt啊,reportng啊,各种配置,最后出来的结果,还不能定制化,但为什么 ...

  3. java-String Date Calendar之间的转换

    1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...

  4. 如何在select下拉列表中添加复选框?

    近来在给一个公司做考试系统的项目,遇到的问题不少,但其中的几个让我对表单的使用颇为感兴趣,前端程序员都知道,下拉列表有select标签,复选框有checkbox,但是两者合在一起却少有人去研究,当时接 ...

  5. 在cmd命令行使用Maven Archetype插件 generate命令创建简单的java web项目

    前提: 1.下载apache-maven:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache ...

  6. socket编程学习step1

    socket学习参考链接,赞一个:http://blog.csdn.net/hguisu/article/details/7445768 sockets(套接字)编程有三种,流式套接字(SOCK_ST ...

  7. LogStash-2.4.0自定义区域信息插件-ISP

    由于直接复制粘贴有问题,所以给出链接: http://note.youdao.com/share/?id=6dfb1f03240e156c1db4a56c85e3b6db&type=note# ...

  8. Redis 集群的合纵与连横

    之前一篇写了关于 Redis 的性能,这篇就写写我认为比性能更重要的扩展性方面的主题. 如果再给我一次回到好几年前的机会,对于使用 Redis 我一开始就要好好考虑将来的扩展问题.就像我们做数据库分库 ...

  9. 尝试解决在构造函数中同步调用Dns.GetHostAddressesAsync()引起的线程死锁

    (最终采用的是方法4) 问题详情见:.NET Core中遇到奇怪的线程死锁问题:内存与线程数不停地增长 看看在 Linux 与 Windows 上发生线程死锁的后果. Linux: Microsoft ...

  10. edit

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...