Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

Toán tử so sánh or (||) không hoạt động

Discussion in 'Trao đổi về thuật toán' started by CuongDao, 17/4/17.

  1. CuongDao

    CuongDao New Member

    Các bác cho em hỏi, em có đoạn code như hình dưới, trong đó e qui định là nếu nhập "n" hay "N" thì đoạn lệnh lặp sẽ kết thúc nhưng đoạn code của em nó không kết thúc khi em nhập "n" mà chỉ kết thúc khi em nhập "N". Cho em hỏi nguyên nhân của việc này là sao ạ ?
    Em cảm ơn nhiều lắm ạ.
     

    Attached Files:

  2. solitarysp

    solitarysp New Member

    sao bạn không dùng equalsIgnoreCase luôn cho đỡ phức tạp.
    equals là so sánh ký tự có khác biệt giữa hoa và không hoa
    A equals a =false
    A equalsIgnoreCase a =true
    ở đây nếu bạn cần so sánh thì dùng equalsIgnoreCase là hợp lý nhất nhé

    ..
    vào mình sẽ giải thích đoạn lỗi trong code bạn
    1: nhập số bất kỳ:
    2: 12213
    3: bạn muốn nhập thêm không:
    ở đâu nếu bạn nhập n đâu tiên thì nó sẽ dừng lại vòng lặp
    vì bạn có scanner.nextLine() lần đầu tiên nhập nó sẽ so sánh với n nếu không dúng n nó sẽ dừng lại
    nếu lần đầu tiên thất bại nó sẽ phải bắt bạn nhập thêm 1 lần nữa vì khi so sánh với N lại có 1 scanner.nextLine()
    ví dụ lần đâu tiên true:
    4: n
    5: break;
    //
    ví dụ lần đầu tiên thất bại
    4: N // sẽ thất bại
    tiếp tục bắt nhập
    5 : N
    6: break;

    không biết bạn có hiểu không nữa
    nói chung là bạn k được để scanner.nextLine().equals("n") || scanner.nextLine().equals("N")
    nếu bạn không dùng equalsIgnoreCase thì sửa lại là:
     
    CuongDao likes this.
  3. Đinh Thế Hiển

    Đinh Thế Hiển New Member

    lỗi chỉ là do bạn dùng 2 lần scanner.nextLine() thôi.
    Như thế trong 1 while nó đã nhảy đọc 2 lần rồi.

    Bạn nên tạo biến get cái scanner.nextLine() trước khi check nhé.
     
    CuongDao likes this.
  4. CuongDao

    CuongDao New Member

    Cám ơn các bác nhiều ạ. Em hiểu rồi ạ :D:D
     

Chia sẻ trang này

Loading...