01/10/2018, 15:04

Hỏi về cách so sánh chuỗi với mảng char

Chào mọi người!
Mình đang học về java và đang làm bài tập về viết 1 app Đoán chữ trên java

  1. Tạo mảng các từ để đoán. (Mình làm đc rồi)
  2. In ra màn hình chiều dài từ mình random trong mảng trên
  3. Cho người dùng nhập vào 1 kí tự. Kiểm tra xem kí tự người dùng nhập vào có nằm trong từ trên hay không. Nếu có thì xuất ra hết tất cả các vị trí. Còn không thì xuất ra mà hình:" Bạn đã nhập sai"
  4. Lập lại tới khi nào người dùng đoán đúng hết

Mình làm được rồi. Thanks mọi người…

traiotdo viết 17:17 ngày 01/10/2018

Bạn nên viết tên biến, tên hàm theo chuẩn của java (không dùng dấu gạch dưới trong tên biến)

Làm sao để dừng vòng lặp khi người dùng đã nhập được hết các từ.

bạn dựa trên cái length của từ cần đoán đó: guess.length()

làm sao để khi người đó đoán đúng hết thì xuất ra đc cái từ ban đầu mình chọn random

người dùng nhập đúng tức là từ cần in là từ guess của bạn, bạn có lưu guess = name[i] nè, chỉ việc in ra thôi

thdung6198 viết 17:16 ngày 01/10/2018

À Thanks bạn đã góp ý. Mình sẽ sửa tên biến lại cho dễ nhìn hơn.
Mình làm ra được rồi. Nhưng khúc kiểm tra bị sai ấy?
Như chữ ban đầu của mình sẽ là BornToDie
Thì người dùng nếu nhập đúng thứ tự từ trái qua phải thì được. Nhưng nhập chữ ‘o’ trước thì nó sẽ báo sai và ko lưu vào biến kết quả được ạ…
Và nếu nhập chữ o thì nó chĩ gán cho chữ o đầu chứ ko gán cho chữ o lúc sau nữa

[code]public class NameGame {
public String[] name={“AssasinCreed”,“BornToDie”};//,“CapCon”,“PopStar”};//,“HiddenWord”,“DevilMayCry”,“Crysis”};
public int l;
public Random rd = new Random();
public NameGame()
{
l=name.length;
}
public void Random()
{
int i= rd.nextInt(l)+1;
String guess = name[i];
int n = guess.length();
char[] kq= new char[n];
System.out.println("Length of the word: ");
System.out.println();
Scanner input = new Scanner(System.in);
char[] c=guess.toCharArray(); // Chuyen tu kieu string sang char
for(int j=0;j<n;j++) // Xuat do dai tu luc dau
{
kq[j]=’_’;
System.out.print(kq[j]);
}
System.out.println();
do
{
System.out.println("Enter a word : ");
char word=input.next().charAt(0);
int m=c.length;
for(int k=0;k<c.length;k++){
{ if(c[k]==word)
{ kq[k]=word;
m–;
}
}
if(m!=0&& m==c.length)
System.out.println(“You are wrong”);

     else
     {  System.out.println("You are right! Some word is open!");
        for(int p=0;p<c.length;p++)
         System.out.print(kq[p]);
     break;}
    }

}
while(true);

}

}
[/code]

Bài liên quan
0