
正文
java中的魔法代码 java游戏魔法门
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java中“Math.random()*10”这段代码什么怎么理解?“*10”又是干嘛用的?
int random = (int)(Math.random()*10); //产生随机数
这段代码中,Math是数学类,random()是Math类中的一个方法,random本身只产生(0~1)之间的小数,
random()*10 意思是产生0~10之间的小数 ,int(random()*10)的意思是强制取整,把小数部分去掉只去整数部分,所以 就变成了 产生0~9之间的整数。
相关问答
Q1: 求一个简单又有趣的JAVA小游戏代码
具体如下:
连连看的小源码
package Lianliankan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签
JButton firstButton,secondButton; //
分别记录两次62616964757a686964616fe59b9ee7ad9431333335326239被选中的按钮
int grid[][] = new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; //判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
对于字符和Unicode数据的位模式的定义,此模式代表特定字母、数字或符号(例如 0x20 代表一个空格,而 0x74 代表字符“t”)。一些数据类型每个字符使用一个字节;每个字节可以具有 256 个不同的位模式中的一个模式。
在计算机中,字符由不同的位模式(ON 或 OFF)表示。每个字节有 8 位,这 8 位可以有 256 种不同的 ON 和 OFF 组合模式。对于使用 1 个字节存储每个字符的程序,通过给每个位模式指派字符可表示最多 256 个不同的字符。2 个字节有 16 位,这 16 位可以有 65,536 种唯一的 ON 和 OFF 组合模式。使用 2 个字节表示每个字符的程序可表示最多 65,536 个字符。
单字节代码页是字符定义,这些字符映射到每个字节可能有的 256 种位模式中的每一种。代码页定义大小写字符、数字、符号以及 !、@、#、% 等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单字节代码页。
虽然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失。
如果某个数据库为来自许多不同国家的客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展字符。而且,在代码页间不停地转换需要花费大量的处理时间。
Q2: 编写程序FooBizBaz.java,从1循环到50并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的
/**
* 编写程序FooBizBaz.java,从1循环到150并在每行打印一个值
* 另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”
*/
public class FooBizBaz {
public static void main(String[] args) {
// 用于定义循环的数值,单独定义是为了不让代码中出现魔法值(及未经定义的常量)
int circulation = 150;
for (int i = 1; i = circulation; i++) {
// 定义String变量用于字符串的拼接
String str = "";
// 将每一次循环的数值与定义好的str字符串拼接为新的字符串
str += i;
// 此处连续使用三个if是因为每一次判断都会执行一遍实现全部字符串拼接
// 如果使用else/ else if则只会执行其中一个满足条件的代码,导致后面代码不能完整 拼接
if (i % 3 == 0){
str += " foo";
}
if (i % 5 == 0){
str += " biz";
}
if (i % 7 == 0) {
str += " baz";
}
// 此处统一输出,如果选择在每一个if之后进行打印则不会输出以上三种if条件之外的 数值
System.out.println(str);
}
}
}
Q3: 在Java中,有如下代码,
我真不知道楼上是怎么测试的!!!!!考虑东西一点都不全面,太过短视了啊!!!!
答案是: A 、C
是复选的答案!经过测试得出的结果!!!
B和D答案编译都通过不了!
现在说一下why!
子类对象如果想正确初始化,需要先初始化父类对象,这个是规则,可以死记!
这道题改一下你就能更好的理解,请看:
public class Animal {
private String yanjing;
private String erdou;
public Animal(String yanjing,String erdou){
this.yanjing = yanjing;
this.erdou =erdou;
System.out.println("奥名");
}
}
public class Dog extends Animal {
private String yachi;
public class Dog extends Animal {
private String yachi;
public Dog(String yanjing,String erdou,String yachi){
super(yanjing,erdou);
this.yachi = yachi;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog dog = new Dog("眼睛","耳朵","牙齿");
}
}
父类中多了两个属性,眼睛和耳朵,子类中多了一个属性,也是自己特有的牙齿属性。
按照先前的规则,子类要初始化需先初始化父类。看代码:
public Dog(String yanjing,String erdou,String yachi){
super(yanjing,erdou);
this.yachi = yachi;
}
这段是子类的构造方法,其中super关键字有两种用法,用来显式的调用父类中的方法和在构造方法中的用法,这里就是super使用在构造方法中的例子,super在构造方法中可以调用父类的构造方法。
Q4: java冒泡排序法代码
冒泡排序是比较经典的排序算法。代码如下:
for(int i=1;iarr.length;i++){
for(int j=1;jarr.length-i;j++){
//交换位置
}
拓展资料:
原理:比较两个相邻的元素,将值大的元素交换至右端。
思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。
第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;
第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;
依次类推,每一趟比较次数-1;
……
举例说明:要排序数组:int[] arr={6,3,8,2,9,1};
for(int i=1;iarr.length;i++){
for(int j=1;jarr.length-i;j++){
//交换位置
}
参考资料:冒泡排序原理
关于java中的魔法代码和java游戏魔法门的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






