首页 > 编程语言 >跟着王洋老师学编程 - 1.3 满天星星

跟着王洋老师学编程 - 1.3 满天星星

时间:2023-12-06 16:55:05浏览次数:36  
标签:满天星 MyStarPanel java 1.3 王洋 Frame awt import public

编写程序,以窗体形式实现“满天星星”

代码一

 1 import java.awt.Frame;
 2 import java.awt.Color;
 3 import java.awt.Panel;
 4 import java.awt.Graphics;
 5 public class StarSky{
 6     public static void main(String[] args){
 7         Frame w = new Frame();
 8         w.setSize(1366,768);
 9         w.setBackground(Color.BLACK);
10         // 
11         MyStarPanel msp = new MyStarPanel();
12         w.add(msp);
13         w.show();
14     }
15 }
16 class MyStarPanel extends Panel{
17     public void paint(Graphics g){
18         g.setColor(Color.white);
19         int i=30, j=30, k=0;
20         for(;k<1000;k++){
21             g.drawString("*",i,j);
22             i=(int)Math.random()*1366;
23             j=(int)Math.random()*768;
24             //i++;j++;
25             System.out.println(i,j);    
26         }
27         
28     }
29 }

 

编译报错如下

【解决方案】

查询菜鸟教程中JAVA流的用法得知System.out.println()参数只能是一个(字符串),如果要多个,需要加+连接符:

https://m.runoob.com/java/java-files-io.html

 

所以,调整代码如下↓↓↓

代码二

 1 import java.awt.Frame;
 2 import java.awt.Color;
 3 import java.awt.Panel;
 4 import java.awt.Graphics;
 5 public class StarSky{
 6     public static void main(String[] args){
 7         Frame w = new Frame();
 8         w.setSize(1366,768);
 9         w.setBackground(Color.BLACK);
10         // 添加画布
11         MyStarPanel msp = new MyStarPanel();
12         w.add(msp);
13         w.show();
14     }
15 }
16 class MyStarPanel extends Panel{
17     public void paint(Graphics g){
18         g.setColor(Color.white);
19         int i=30, j=30, k=0;
20         for(;k<1000;k++){
21             g.drawString("*",i,j);
22             i=(int)Math.random()*1366;
23             j=(int)Math.random()*768;
24             //i++;j++;
25             System.out.println(i);    
26             System.out.println(j);
27         }
28         
29     }
30 }

 

编译后,执行,打印的i,j 都是0……

【解决方案】

检查原书中代码,发现i,j 的强制转换,(int)后面的内容也是包在()里的…………调整代码如下。。

 1 import java.awt.Frame;
 2 import java.awt.Color;
 3 import java.awt.Panel;
 4 import java.awt.Graphics;
 5 public class StarSky{
 6     public static void main(String[] args){
 7         Frame w = new Frame();
 8         w.setSize(1366,768);
 9         w.setBackground(Color.BLACK);
10         // 
11         MyStarPanel msp = new MyStarPanel();
12         w.add(msp);
13         w.show();
14     }
15 }
16 class MyStarPanel extends Panel{
17     public void paint(Graphics g){
18         g.setColor(Color.white);
19         int i=30, j=30, k=0;
20         for(;k<1000;k++){
21             g.drawString("*",i,j);
22             i=(int)(Math.random()*1366);
23             j=(int)(Math.random()*768);
24             System.out.println(i);    
25             System.out.println(j);
26         }
27         
28     }
29 }

执行结果如下:

 

标签:满天星,MyStarPanel,java,1.3,王洋,Frame,awt,import,public
From: https://www.cnblogs.com/shannonredeemed/p/17831328.html

相关文章

  • 【更新公告】Airtest更新至1.3.2版本
    此文章来源于项目官方公众号:“AirtestProject”版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途1.前言本次更新为Airtest库更新,版本提升至1.3.2版本,主要是ADB版本升级到41版本以及其它的一些小功能更新。更新详情如下。2.功能更新及bug修复1)ADB升级至41版......
  • 11.30 考试总结
    之前好像做过,不过当时我一个题没过,赛后也只改过了BCsolution做法是显然的,代码是不会的,数据结构是最菜的,凸包是看不懂的考虑直接前缀和,然后随便用前缀和拆一下柿子,发现对于每个p好像都是一个单点的函数最值查询(把k看成自变量),那么离线下来维护凸包大概就行了不过要注意有......
  • 每日总结11.30
    访问者模式1、理解访问者模式的动机,掌握该模式的结构;2、能够利用访问者模式法解决实际问题。实验任务:打包员在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。Client.javapublicclassClient{publicstaticvoidmain(String[]args......
  • 11.30二次探测法解决冲突
    设哈希表长为14,哈希函数是H=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的元素加到表中,用二次探测法解决冲突,则放入的位置是(9)。15的位置是4,38的位置是5,61的位置是6,84的位置为749对应5和38冲突所以要用二次探索就是跳跃式的加数直到不重复且不超过哈希表长{1......
  • 2023.11.30 练习
    CF1887C首先容易想到区间加需转化为差分,字典序的比较呢就考虑二分哈希。二分第一个不一样的位置,这个位置也一定是差分数组第一个不一样的。把哈希如果放到线段树上,那么在线段树上二分即可。我们依次处理修改的时候,顺便处理当前的最小的字典序。我们这里如果采用主席树,那么会......
  • 11.30每日总结
    实验一:百度机器翻译SDK实验一、实验要求 任务一:下载配置百度翻译Java相关库及环境(占10%)。 任务二:了解百度翻译相关功能并进行总结,包括文本翻译-通用版和文本翻译-词典版(占20%)。 任务三:完成百度翻译相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。......
  • 11.30
    今天上课王建民老师让我们做了一个小测试,那几个图我画的还是不好,感觉有很多不懂。     ......
  • 11.30每日总结
    我要把今天作为我的纪念日,哈哈哈,零分选手一路逆袭最后拿了满分的故事,天呐,我要默默踩了多少狗屎才能积下这福泽,换来这美好的一天啊。体育老师怎么就这么面善呢,怎么“过了”这两个字从他嘴里说出来就这么好听呢。总之,现在11.30就是我的幸运日啦!......
  • 11.30
    软件设计                 石家庄铁道大学信息学院 实验25:访问者模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解访问者模式的动机,掌握该模式的结构;2、能够利用访问者模式法解决实际问题。 [实验任务一]:打包员在我们课堂上的“购......
  • unit 1.31.1 发布
    目前来说unit的发布速度还比较稳定,同时一些新特性也很不错,比如1.31.0支持服务端WebAssembly,1.31.1进行了增强nginxunit实际上很不错,当时目前似乎使用的用户不是很多,在加上servicemesh,周边的快速发展对于unit的确是有不少的压力,而且从实际上来说,基于openrestylua强大的能......