java数组怎么表示
java数组有如下方法可以表示和创立,如下:方式1: type 变量名 = new type[数组中元素的个数];比如:int a = new int;数组名,也即引用a,指向数组元素的首地址。方式2(同C语言) type变量名 = new type[数组中元素的个数];如:int a = new int;方式3 定义时直接初始化 type 变量名 = new type{逗号分隔的初始化值};其中红色部分可省略,所以又有两种:int a = {1,2,3,4}; int a = new int{1,2,3,4}; 其中int a = new int{1,2,3,4};的第二个方括号中不能加上数组长度,因为元素个数是由后面花括号的内容决定的。
java 小游戏
import java.util.Random;import javax.swing.*;import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.*;public class SmallGame extends JFrame { private Random r; private String box = { “剪刀“, “石头“, “布“ }; private JComboBox choice; private JTextArea ta; private JLabel lb; private int win = 0; private int loss = 0; private int equal = 0; public SmallGame() { initial();//调用initial方法,就是下面定义的那个.该方法主要是初始界面. pack(); setTitle(“游戏主界面“); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocation(400, 300); setVisible(true); } public static void main(String args) { new SmallGame(); } public void initial() { r = new Random(); // 生成随机数 choice = new JComboBox();//初始化choice这个下拉框.也就是你选择出剪子还是石头什么的那个下拉框.. for (int i = 0; i 《 box.length; i++) {//为那个下拉框赋值.用前面定义的private String box = { “剪刀“, “石头“, “布“ };附值.这样下拉框就有三个选项了.. choice.addItem(box[i]); } ta = new JTextArea(3, 15);//初始化那个文本域3行15列 ta.setEditable(false);//让用户不能编辑那个文本域即不能在里面写东西 JButton okBut = new JButton(“出招“);//新建一个出招的按钮 okBut.addActionListener(new ActionListener() {//给出招按钮加个监听.意思就是监听着这个按钮看用户有没有点击它..如果点击就执行下面这个方法 public void actionPerformed(ActionEvent e) {//就是这个方法 ta.setText(getResult());//给那个文本域赋值..就是显示结果 赋值的是通过getResult()这个方法得到的返回值 getResult()这个方法下面会讲 lb.setText(getTotal());//给分数那个LABEL赋值..就是显示分数..赋值的是通过getTotal()这个方法得到的返回值 } }); JButton clearBut = new JButton(“清除分数“);//新建一个清楚分数的按钮 clearBut.addActionListener(new ActionListener() {//同上给他加个监听 public void actionPerformed(ActionEvent e) {//如果用户点击了就执行这个方法 ta.setText(““);//给文本域赋值为““..其实就是清楚他的内容 win = 0;//win赋值为0 loss = 0;//同上 equal = 0;//同上 lb.setText(getTotal());//给显示分数那个赋值..因为前面已经都赋值为0了..所以这句就是让显示分数那都为0 } }); lb = new JLabel(getTotal());//初始化那个显示分数的东西 JPanel choicePanel = new JPanel();//定义一个面板..面板就相当于一个画图用的东西..可以在上面加按钮啊文本域什么的.. choicePanel.add(choice);//把下拉框加到面板里 choicePanel.add(okBut);//把出招按钮加到面板里 choicePanel.add(clearBut);//把清楚分数按钮加到面板里 JScrollPane resultPanel = new JScrollPane(ta);//把文本域加到一个可滚动的面板里面..JScrollPane就是可滚动的面板..这样如果那个文本域内容太多就会出现滚动条..而不是变大 JPanel totalPanel = new JPanel();//再定义个面板..用来显示分数的.. totalPanel.add(lb);//把那个显示分数的label加到里面去 Container contentPane = getContentPane();//下面就是布局了.. contentPane.setLayout(new BorderLayout()); contentPane.add(choicePanel, BorderLayout.NORTH); contentPane.add(resultPanel, BorderLayout.CENTER); contentPane.add(totalPanel, BorderLayout.SOUTH); } public String getResult() {//获得结果的方法 返回值是一个String..这个返回值会用来显示在文本域里面 String tmp = ““; int boxPeop = choice.getSelectedIndex();//获得你选择的那个的索引..从0开始的.. int boxComp = getBoxComp();//获得电脑出的索引..就是随机的0-2的数 tmp += “你出:\t“ + box[boxPeop];//下面你应该明白了.. tmp += “\n电脑出:\t“ + box[boxComp]; tmp += “\n结果:\t“ + check(boxPeop, boxComp); return tmp; } public int getBoxComp() {//就是产生一个0-2的随机数.. return r.nextInt(3);//Random的nextInt(int i)方法就是产生一个[0-i)的随机整数 所以nextInt(3)就是的随机数 } public String check(int boxPeop, int boxComp) {//这个就是判断你选择的和电脑选择的比较结果..是输是赢还是平..boxPeop就是你选择的..boxComp就是电脑选择的.. String result = ““; if (boxPeop == (boxComp + 1) % 3) {//(boxComp + 1) % 3 电脑选择的加上1加除以3取余..也就是如果电脑选0这个就为1..这个判断的意思就是如果电脑选0并且你选1..那么就是电脑选了 //private String box = { “剪刀“, “石头“, “布“ };这里面下标为0的..你选了下标为1的..就是电脑选剪刀你选石头..所以你赢了..如果电脑选1..(boxComp + 1) % 3就为2..意思就是 //电脑选了石头你选了布..所以你赢了..另外一种情况你明白了撒..只有三种情况你赢..所以这里都包含了..也只包含了那三种.. result = “你赢了!“; win++;//赢了就让记你赢的次数的那个变量加1 } else if (boxPeop == boxComp) {//相等当然平手了 result = “平“; equal++;//同上了 } else {//除了赢和平当然就是输了.. result = “你输了!“; loss++;//同上 } return result; } public int getPoint() { return (win - loss) * 10; } public String getTotal() { return “赢:“ + win + “ 平:“ + equal + “ 输:“ + loss + “ 得分:“ + getPoint(); }}希望你能明白哈。。
java编程问题,卡雷尔机器人学javaputBeeper()命令是放下一个小方块,主要看一下for循环哪里出问题了!
public class CheckerboardKarel extends SuperKarel { public void run(){ for(int i = 0; i 《 8; i++) { for(int j = 0; j 《 8; j++) { if((i + j) % 2 == 1) { // 这里错了 putBeeper(); } if(frontIsClear()){ move(); } } if((i % 2) == 0) { turnLeft(); move(); turnLeft(); } else { turnRight(); move(); turnRight(); } } }}