老师我想问下直接打印一维数组不行吗,代码里新建二维数组再把a1、a2、a3放在二维数组是为什么
fanProjest01.zip
老师看看咋回事?
在这种情况下怎么打印数组?
视频中讲诉了Math.random()的方法,我想请问一下为什么不教大家Random.nextInt()方法呢?我感觉外面还要做乘法还要强制转换成int类型很麻烦,例如以下代码:
Random ra =new Random(); i = ra.nextInt(7);
这样就可以直接取0-7之间的随机数(包含0而不包含7),感觉这样方便很多.
老师,我用这个代码算10的阶乘的时候是正常运行的,结果如下:
但是在算100的阶乘的时候,将实参改为100
结果就都变成0了,但是耗时一样,我还试了一下20、50一直到65,运算完结果是负数,是因为超过了int的容量?
之后我把形参的类型修改为long
运行的结果还是0
请问老师:
问题1:为什么结果会变成0?是因为底层编码超出int容量的部分舍弃了,留下的都是0?
问题2:将形参类型改为long为什么也不行?就算输入100L,将方法中1和2也改为1L和2L也不行
问题3:要怎么修改才能计算100的阶乘呢?
老师你好,请问为什么狗和猫都是同级的对象,也就是都是animal的子类,为什么可以向下强制转型为dog,但是却不能向下强制转型为cat呢?
问题:代码也一样,但是运行后不出现线和矩形图形
package cn.sxt.game; import java.awt.Graphics; import java.awt.Window; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; /** * * 飞机游戏的窗口 * @author jingyu * */ public class MyGameFrame extends JFrame{ @Override public void paint(Graphics g) { //自动被调用,g相当于一只画笔 g.drawLine(100,100,300,300); g.drawRect(100, 100, 100, 100); super.paint(g); } /** * 初始化窗口 */ public void launchFrame() { this.setTitle("飞机大战"); this.setVisible(true); this.setSize(500, 500); this.setLocation(300, 300); this.addWindowFocusListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); } public static void main(String[] args) { MyGameFrame f=new MyGameFrame(); f.launchFrame(); } }
package first; import java.awt.*; import javax.swing.*; import javax.tools.Tool; public class BallGame extends JFrame{ Image ball=Toolkit.getDefaultToolkit().getImage("images/ball.png"); Image desk= Toolkit.getDefaultToolkit().getImage("images/desk.png"); double x=200; double y=200; double degree =3.14/3; //弧度 //绘制窗口 public void paint(Graphics g){ System.out.println("窗口被画了一次!"); g.drawImage(desk,0,0,null); g.drawImage(ball,(int) x,(int) y,null); x = x +10*Math.cos(degree); y = y +10*Math.sin(degree); //碰到上下边界 if(y>501-40-30||y<0+40+40){ degree=-degree; } //碰到左右边界 if(x>806-40-30||x<40){ degree=3.14-degree; } } //创建窗口 void launchFrame(){ setSize(856,501); setLocation(100,100); setVisible(true); //实现动画,每秒绘制窗口25次 while(true){ repaint(); try { Thread.sleep(40); //1s=1000ms;大约1秒绘制1000、40=25次 } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String[] args) { System.out.println("我的小游戏开始了!"); BallGame game=new BallGame(); game.launchFrame(); } }
老师有个问题就是,代码里面的paint方法,在主函数里面并没有被调用,为什么最后还可以显示出来效果呢
老师,我还不不懂得 thsi.age 和man.age 是什么
老师在视频里说红色框中的什么时间 昨天学过了,但是我按顺序看的课里没有说过这个呀?是我漏看了吗??
老师,这里的计数器为什么要用static修饰?
老师我这个问题出在哪 它提示第七。八。九。十二行我照着写感觉没什么错误啊
我前方在编码的时候,不是已经注明long类型了么?怎么还会是int类型又怎么会还需要加L呢?
如:
public class Testcontent{
public static void main(String[] args){
final double PI=3.14;
double r=30;
double area=PI*r*r;
double circle=2*PI*r;
long f=55555555555555;
System.out.print("面积是:"+area);
System.out.print("周长是"+circle);
}
前面已经标注出来的了long类型呀?
老师关于SxStu s1 = new SxtStu(); 这一句话的意思我还是有点不太明白,就是在SxStu s1 中的SxStu是如何确定的?是因为这个是在class SxStu中创建的新的对象所以这个是SxStu?那么我们不管创建几个对象都是要用SxStu?SxStu的含义是表明了这个对象的位置是在class SxStu吗?
为啥报错啊我看着视频跟我的一样就是报错
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637