老师这段代码为什么报索引越界异常,实在找不到
List list=new ArrayList(); int[] array=new int[7];//存贮红色球方法,之后存入集合 Scanner scanner=new Scanner(System.in); System.out.println("请下注:"); int num=scanner.nextInt(); List<Integer> redList=new ArrayList<Integer>();//红色球1-33 for(int i=1;i<=num;i++) { //1.为了初始化集合,2.下面循环红色球移除数据使得不完整,为了下一次循环的初始化工作 for(int j=0;j<=33;j++) { redList.add(j); //存放随机数 } System.out.println("红色球:"); for(int j=0;j<6;j++) { int index=(int)(Math.random()*32+1);//list下标 int red=redList.get(index);//Math.random() 1-33里面随机选择 System.out.print(red+" "); array[j]=red; redList.remove(index);//移除该list下标防止下标重复 } System.out.println(); System.out.println("蓝色球:"); int bule=(int)(Math.random()*16+1);//蓝球 System.out.println(bule); array[6]=bule;//存放篮球号码 list.add(array);//存放数据 } System.out.println("总计下注:"+num*2+"元");
老师问一下成员变量是存放在栈内存,局部变量存放在堆内存吗
老师,请问java如何实现生成0-100的随机数(包括0和100)
package cn.sxt.game; import java.awt.Graphics; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; /* * 飞机游戏的窗口 */ public class MyGameFrame extends JFrame{ public void paint(Graphics g) { g.drawLine(100, 100, 300, 300); g.drawRect(100, 100, 300, 300); } /* * 初始化窗口 */ public void launchFrame() { this.setTitle("尚学堂学员——王雪宁作品"); //添加标题 this.setVisible(true); //窗口可变 this.setSize(500,500); //窗口大小 this.setLocation(500,300); //窗口位置,左上角,x轴向右,y轴向下 /* * 关闭窗口 */ this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public static void main(String[] args) { // TODO 自动生成的方法存根 MyGameFrame f = new MyGameFrame(); f.launchFrame(); } }
老师,为什么我是黑屏
老师,您好,我在打印9×9乘法表时遇到了问题
下面两个代码和运行结果作为对比:
代码一:
/** * 练习打印9×9乘法表 * @author 陈其玉 * */ public class TestChengFaBiao { public static void main(String[]args) { for(int i=1;i<=9;i++) { for(int j=1;j<=i;j++) { System.out.print(j+"×"+i+"="+i*j+" "); } System.out.print("\n"); } } }
运行结果:
运行结束后,表格不能对齐。
代码二:
/** * 练习打印9×9乘法表 * @author 陈其玉 * */ public class TestChengFaBiao { public static void main(String[]args) { for(int i=1;i<=9;i++) { for(int j=1;j<=i;j++) { System.out.print(j+"×"+i+"="+i*j+"\t"); } System.out.print("\n"); } } }
此时表格是对齐的,我只是将空格换为了制表符
请问为什么使用制表符打出来后表格是对齐的???
我觉得制表符就是固定长度的空格,所以不理解。
老师关于ppt十进制转换二进制的部分问题,我实现了整数部分转化,但是十进制转二进制的小数部分不知道怎么转换,我debug检测出来是小数部分减法出现了问题(double-int 计算出来不精确),可以给我提供一下思路吗
public class TenToTwo { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.print("请输入一个十进制的数字:"); double num=scanner.nextDouble(); StringBuffer zhengshu=new StringBuffer();//整数部分 StringBuffer xiaoshu=new StringBuffer();//小数部分 int zhengshuNum=(int)num;//整数部分 double xiaoshuNum=num-zhengshuNum;//小数部分(有问题) while(zhengshuNum!=0) {//整数转二进制 zhengshu.append(zhengshuNum%2); zhengshuNum/=2; } while(xiaoshuNum!=0) {//小数转换二进制 //小数部分乘2取整 xiaoshuNum*=2; if(xiaoshuNum>1) { xiaoshuNum-=1; xiaoshu.append(1); }else { xiaoshu.append(0); } } zhengshu=zhengshu.reverse();//整数最终结果 zhengshu.append(xiaoshu);//最终结果 System.out.println("十进制转二进制为:"+zhengshu.toString()); } }
float f1 = 0.1f; double d2 = 0.1; double d3 = 1.0/10.0; System.out.println(d2==d3); System.out.println(f1==d3);
老师,为什么这里d2==d3而f1!=d3?
double d4 = 123456712.0; double d5 = d4 + 1; if(d4==d5) { System.out.println("d4==d5"); }else { System.out.println("d4!=d5"); }
老师,为什么我这里换成double类型,运行结果会是
float d4 = 123456712.0f; float d5 = d4 + 1; if(d4==d5) { System.out.println("d4==d5"); }else { System.out.println("d4!=d5"); }
换成float类型,却又变成
提醒下各位,为了方便时间节省精力,一定去百度网盘下载jdk。
-Oracle官网只能下载12代,8代需要注册账号。
-12代只有jdk,无jre。
-百度网盘虽然慢,但是直截了当,省事。
-苹果电脑的,最好还是换系统吧,就算去看百度经验啥的出错的概率及其高而且到时候有问题,没人能帮你解决的。
“当你不声明它的类型的时候默认为int,当你确定的告诉它是什么的时候,就不会是int了”
那float为什么不是这个样子呢,比如 float a = 1.2f; 也声明了为1.2为float,却还是得加f进行转化。
x > 0?1:(x==0?0:-1);
这个代码老师上节课是先判断的 x>0 再进行括号内的判断,可是根据这节课的内容不应该是先进行括号内的再进行外面的吗
public class TestContinue { public static void main(String[] args) { //吧100~150之间不能被3整除的书输出,并且每行输出五个 int count=0;//定义计数器 for(int a=100;a<150;a++) { if(a%3==0) {//就是判断a除以三不是0 的数 continue; } System.out.print(a+","); } } }
System.out.print(a+",");
老师,1.这个地方(a+",")是什么意思?为什么这样输出的
2.print不应该是println吗?
char c='a'; int rand =(int)(26*Math.random()); char c2=(char)(c+rand);
老师这个不太明白,它是怎样加的,取得值?
这个-6是怎么算出来的?,为什么出来是-6,在网上搜索得到
但是为什么取反运算后不就是结果了吗?为什么还需要再一次取补码?
请问一下,出现这个画面提示是因为什么的?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637