java里choice什么意思 java代码理解
大家好,如果您还对java里choice什么意思不太了解,没有关系,今天就由本站为大家分享java里choice什么意思的知识,包括java代码理解的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
Java程序设计
楼主,给你给建议,如果,是很急的问题,建议把分标高点(80~120比较适合你的问题),5个编程题,却只给20分,就是全做了,你也只加50分。。这样做很难在你希望的时间内解决问题的,也就是我这种菜鸟会在这里帮你敲代码。。不是别人不帮你,只是这种分的问题,没有多少高手注视,而像我这种注视的,却不能完全解决。
你说朋友让你帮他做两个题,可以发出来就是五个。。。
画图题我不太会,先做了两个,明天再给你把第二题补上,然后我研究下画图题,看能不能帮你解决。。
第二题:
import java.awt.*;
import java.awt.event.*;
import javax.swing.JTextArea;
public class L{
public static void main(String[] args){
new C2();
}
}
class C2 extends Frame{
JTextArea t1, t2;
Font f1, f2;
C2(){
f1= new Font("黑体", Font.PLAIN, 24);
f2= new Font("宋体", Font.BOLD+ Font.ITALIC, 16);
t1= new JTextArea();
t2= new JTextArea();
t1.setFont(f1);
t1.setText("张三");
t2.setFont(f2);
t2.setText("091班 091109");
add(t1, BorderLayout.NORTH);
add(t2, BorderLayout.CENTER);
setLayout(new FlowLayout());
setBounds(100, 100, 180, 120);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setVisible(true);
validate();
}
}
第三题:
import java.awt.*;
import java.awt.event.*;
public class L{
public static void main(String[] args){
new C3();
}
}
class C3 extends Frame implements ActionListener{
Label l;
TextField tf;
TextArea ta;
Button b, b1;
C3(){
setLayout(new FlowLayout());
l= new Label("请输入姓名:");
l.setBackground(Color.cyan);
tf= new TextField(20);
ta= new TextArea(5, 20);
b= new Button("确定");
b.addActionListener(this);
b1= new Button("取消");
b1.addActionListener(this);
add(l);
add(tf);
add(b);
add(b1);
add(ta);
setBounds(100, 100, 180, 225);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()== b){
String str="您好,"+ tf.getText()+",欢迎访问\n";
ta.append(str);
} else if(e.getSource()== b1){
ta.setText(null);
}
}
}
第五题:
import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
public class L{
public static void main(String[] args){
new C5();
}
}
class C5 extends Frame implements ItemListener{
Label l;
CheckboxGroup choice;
Checkbox c1, c2, c3, c4;
C5(){
setLayout(new FlowLayout());
l= new Label("拉丁文第一个字母是:");
l.setBackground(Color.cyan);
choice= new CheckboxGroup();
c1= new Checkbox("A", false, choice);
c2= new Checkbox("B", false, choice);
c3= new Checkbox("C", false, choice);
c4= new Checkbox("D", false, choice);
c1.addItemListener(this);
c2.addItemListener(this);
c3.addItemListener(this);
c4.addItemListener(this);
add(l);
add(c1);
add(c2);
add(c3);
add(c4);
setBounds(100, 100, 180, 120);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setVisible(true);
validate();
}
public void itemStateChanged(ItemEvent e){
Checkbox b=(Checkbox) e.getSource();
if(b.getLabel()=="A"){
JOptionPane.showMessageDialog(this,"选择正确");
}else
JOptionPane.showMessageDialog(this,"选择错误,答案选A");
}
}
画图的真不怎么会。。抱歉啊。。
JAVA里switch…case是什么意思
分支结构..类似if else,印象中介绍变量完了就是介绍分支结构..再循环结构之前..很基础的概念,楼主应多看看书..
switch(t),t的值貌似只有几类,只能是char或者int(貌似还有别的简单类型,不记得了)
根据t的值不同,选择不同的case语句
比如t==10的时候,会寻找case 10:对应10的执行语句;break;
如果没有case 10则会去执行default:默认的执行语句;
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)就是[0-2]的随机数
}
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代码理解
public Static Animal get(String choice)//这句是定义一个静态方法get,static表示该方法是静态方法, void表示方法没有返回值(在方法没有返回值时用),而该句的返回值类型是Animal(Animal是一个用户自定义的类类似你熟知的int,string,char等),例如public viod get(){}这个方法就没有返回值且是非静态方法而public static string set(){}这个方法就是静态方法且返回值的string类型。请不要混淆返回值类型与static二者并非一个概念
静态与非静态:当一个函数或者一个变量前面加上static时表示该方法或变量是静态的,否则就是非静态的。java和c#一样是面向对象的语言,创建一个类后需要实例类的对象调用方法或者变量,当声明的方法或者变量时静态时就可以直接用类名调用,因为静态的是属于类所有,并非属于类的某个对象
choice是什么意思? choice是get方法的形式参数(形参)通俗一些就是个傀儡,只有这个get方法被调用的时候形参就被赋予了实参的值,才真正有了意义。例如你的例子Animal al=Store.get("dog");中调用了get方法并传递实参"dog",此时choice的值就是"dog","dog"与"dog"当然是俩个相等的字符串所以程序最后输出的肯定和狗有关。如果get方法被调用时传的实参不是"dog",Animal al=Store.get("pig");此时choice值就是"pig","pig"与“dog”不是相同的字符串所以最后结果肯定和猫又关(呵呵)
if(choice.equalsIgnoreCase("dog"))是什么意思?这是判断当get函数被调用时传递的实参是否是“dog”, java中equalsIgnoreCase是判断两个字符串是否相等它不考虑大小写,如果两个字符串的长度相等,并且两个字符串中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。(当get被调用时choice的值就变为实参的值)
正如LS所说main方法是java程序的入口,当程序运行时首先运行main方法中的内容,记住main方法的格式就行,以后你会慢慢理解main
如果还有不是很清楚的地方百度hi我……
这回答应该通俗易懂不知lz满意否?怎么样给分吧……
OK,本文到此结束,希望对大家有所帮助。