按照你的要求編寫的Java猜單詞的游戲如下:

創(chuàng)新互聯(lián)是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷、企業(yè)網(wǎng)站建設(shè),買友情鏈接,1元廣告為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.util.Vector;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
import?javax.swing.JScrollPane;
import?javax.swing.JTable;
import?javax.swing.JTextField;
import?javax.swing.table.DefaultTableModel;
public?class?GuessWord?extends?JFrame?implements?ActionListener{
String?[]?s?=?{"hello","world","student"};
JPanel?jp=new?JPanel();
JLabel?jl_guessword=new?JLabel();
JLabel?jl_displayword=new?JLabel();
JLabel?jl_guesstimes=new?JLabel();
JLabel?jl_copyright=new?JLabel("版權(quán)所有:xxxxxxxxxx");
JLabel?jl_resultlist=new?JLabel("猜取結(jié)果列表");
JTextField?jtf=new?JTextField(5);
JButton?jb_guess=new?JButton("我猜");
JButton?jb_reset=new?JButton("重置");
String[]?columnNames={"序號","猜過的單詞","猜的結(jié)果"};
String[][]data;
DefaultTableModel?dtf=new?DefaultTableModel(data,columnNames);
JTable?jt=new?JTable(dtf);
JScrollPane?jsp=new?JScrollPane(jt);
int?count=0;
GuessWord(){
super("猜單詞小游戲");
String?str=s[(int)(Math.random()*3)];
jl_guessword.setText(str);
String?str1="";
for(int?i=0;istr.length();i++)
str1=str1+"*";
jl_displayword.setText(str1);
jp.setLayout(null);
jl_guessword.setVisible(false);
jl_guessword.setBounds(20,?0,?120,20);
jl_displayword.setBounds(20,?20,?120,20);
jtf.setBounds(20,?50,?100,20);
jl_guesstimes.setBounds(20,?80,?120,20);
jb_guess.setBounds(20,?115,?60,?20);
jb_reset.setBounds(20,?145,?60,?20);
jl_copyright.setBounds(20,180,200,?20);
jl_resultlist.setBounds(150,?20,?200,20);
jsp.setBounds(150,?40,?200,130);
jb_guess.addActionListener(this);
jb_reset.addActionListener(this);
jp.add(jl_guessword);
jp.add(jl_displayword);
jp.add(jtf);
jp.add(jl_guesstimes);
jp.add(jb_guess);
jp.add(jb_reset);
jp.add(jl_copyright);
jp.add(jl_resultlist);
jp.add(jsp);
add(jp);
setSize(400,?250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public?static?void?main(String[]?args)?{
new?GuessWord();
}
@Override
public?void?actionPerformed(ActionEvent?ae)?{
if(ae.getSource()==jb_guess){
if(jtf.equals("")){
JOptionPane.showMessageDialog(this,?"請輸入你猜的單詞!");
jtf.requestFocus();
}else{
String?s1=jtf.getText().trim();
String?s2=jl_guessword.getText().trim();
if(s1.length()!=s2.length()){
JOptionPane.showMessageDialog(this,?"請輸入"+s2.length()+"個(gè)字母的單詞!");
jtf.requestFocus();
}else{
if(s1.equals(s2)){
jb_guess.setEnabled(false);
count++;
jl_displayword.setText(s2);
jl_guesstimes.setText("共猜了"+count+"次。");
Vector?v=new?Vector();
v.add(count);
v.add(jtf.getText().trim());
v.add(jtf.getText().trim());
dtf.addRow(v);
}else{
String?s3="";
for(int?i=0;is2.length();i++){
if(s2.charAt(i)==s1.charAt(i))
s3=s3+s1.charAt(i);
else
s3=s3+"*";
}
count++;
jl_displayword.setText(s3);
jl_guesstimes.setText("共猜了"+count+"次。");
Vector?v=new?Vector();
v.add(count);
v.add(jtf.getText().trim());
v.add(s3);
dtf.addRow(v);
}
}
}
}
if(ae.getSource()==jb_reset){
String?str=s[(int)(Math.random()*3)];
jl_guessword.setText(str);
String?str1="";
for(int?i=0;istr.length();i++)
str1=str1+"*";
jl_displayword.setText(str1);
jtf.setText("");
jb_guess.setEnabled(true);
for(int?i=dtf.getRowCount()-1;i=0;i--)
dtf.removeRow(i);
jl_guesstimes.setText("");
count=0;
}
}
}
運(yùn)行結(jié)果:
定義數(shù)組a存要顯示的字幕,數(shù)組長度為n,生成0到n-1的隨機(jī)數(shù)r,接受用戶輸入字符c,比較c和a[r],記錄用戶猜的次數(shù),3次后不能繼續(xù)
package util;
import java.util.Random;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Random rnd=new Random();
Scanner in = new Scanner(System.in);
char c=0;
String yn = "";
do{
c=(char)('A'+rnd.nextInt(27)); //產(chǎn)生的是隨機(jī)字母
System.out.println("輸入C:"+c);
for (int i = 0; i 4; i++) {
System.out.println("請輸入一個(gè)大寫字母:");
String at = in.next();
System.out.println(at);
String a = String.valueOf(c);
if (a.equals(at)) {
System.out.println("恭喜你,猜對了!");
break;
}else {
System.out.println("你猜錯了!");
}
}
System.out.println("是否繼續(xù):y/n");
yn = in.next().trim();
}while("y".equals(yn));
System.out.println("你結(jié)束了猜字母的游戲!");
}
}
//直接粘貼,復(fù)制,就能運(yùn)行。
import?java.util.Random;
import?java.util.Scanner;
public?class?GuessString?{
public?static?void?main(String[]?args){
String[]?strings={"apple","orange","tom","kitty","hello","world","have","fun","hehe","ok"};
Random?rand=new?Random();
String?choosed=strings[rand.nextInt()%10];
StringBuilder?guessString=new?StringBuilder(choosed);
StringBuilder?sb=new?StringBuilder();
for(int?i=0;iguessString.length();i++)
sb.append("_?");
System.out.println(sb);
Scanner?scanner=new?Scanner(System.in);
int?numberGuessed=0;
while(numberGuessedguessString.length()){
char?c=scanner.next().charAt(0);
int?index=guessString.indexOf(c+"");
if(index=0){
if(sb.charAt(2*index)=='_'){
guessString.setCharAt(index,?'*');
sb.setCharAt(index*2,?c);
numberGuessed++;
}
}
System.out.println(sb);
}
}
}
代碼如下:猜的次數(shù)和單詞長度一樣。
import java.util.* ;
public class T {
public static void main(String [] args) {
Scanner scanner=new Scanner(System.in);
String word;
String s;
String s1="";
String s2="";
char c;
System.out.println("Please enter a word:");
word=scanner.next();
s1=word;
for(int i=0;is1.length();i++)
s2=s2+"*";
for(int i=0;iword.length();i++){
System.out.println("Please enter a letter:");
s=scanner.next();
if(s.length()1){
System.out.println("Error!");
i--;
}else{
c=s.charAt(0);
int index=s1.indexOf(c);
if(index!=-1){
s2=s2.substring(0,index)+c+s2.substring(index+1);
s1=s1.substring(0,index)+"0"+s1.substring(index+1);
}
System.out.println(s2);
if(word.length()-i-10)
System.out.println("You have "+(word.length()-i-1)+" more tries");
}
}
if(s2.equals(word)){
System.out.println("You Win!");
}else
System.out.println("The answer is"+word+".You Lose!");
}
}
運(yùn)行結(jié)果:
Please enter a word:
hello
Please enter a letter:
o
****o
You have 4 more tries
Please enter a letter:
h
h***o
You have 3 more tries
Please enter a letter:
l
h*l*o
You have 2 more tries
Please enter a letter:
l
h*llo
You have 1 more tries
Please enter a letter:
e
hello
You Win!
有問題就追問,滿意請采納。
名稱欄目:java猜單詞代碼,java猜字母
URL網(wǎng)址:http://chinadenli.net/article15/dsiccdi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站收錄、App設(shè)計(jì)、App開發(fā)、定制網(wǎng)站、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)