Rumah  >  Artikel  >  Ralat: simbol tidak ditemui dalam kod input pengguna

Ralat: simbol tidak ditemui dalam kod input pengguna

PHPz
PHPzke hadapan
2024-02-22 12:28:18456semak imbas

PHP Editor Xinyi menjawab soalan biasa dalam pengaturcaraan Java: "Ralat: Simbol tidak ditemui dalam kod input pengguna". Ralat ini biasanya bermaksud bahawa pengkompil tidak mengenali pembolehubah atau kaedah yang digunakan dalam kod, mungkin disebabkan oleh ralat ejaan, isu skop atau tidak mengimport pakej yang berkaitan. Apabila anda menghadapi situasi ini semasa pengaturcaraan, anda perlu menyemak kod dengan teliti untuk memastikan semua nama pembolehubah dan kaedah adalah betul. Selain itu, pastikan anda mengimport pakej dan perpustakaan yang diperlukan untuk mengelakkan ralat ini.

Kandungan soalan

Saya sangat baru dalam bahasa pengaturcaraan dan saya cuba belajar bahasa java.

Saya berurusan dengan input pengguna, syarat dan pelbagai syarat.

Apabila saya cuba menulis kod saya sendiri, saya mendapat ralat, ini ialah kodnya:

import java.util.scanner;

public class main
{
    public static void main (string[] args) {
        scanner input = new scanner(system.in);
        
        system.out.println("masukkan suhu:");
        int temp = input.nextint();
        system.out.println("masukkan hal yang direbus:");
        **string rebusan = input.nextln();**
        
        if ((temp == 100) && (rebusan == "air" || rebusan == "air")) {
            system.out.println("mendidih, segera angkat!");
        } else if ((temp >= 60 && temp <= 100) && (rebusan == "air" || rebusan == "air")) {
            system.out.println("sedikit lagi");
        } else if ((temp >= 25 && temp <= 60) && (rebusan == "air" || rebusan == "air")) {
            system.out.println("masih lama, sabar");
        } else if ((temp >= 1 && temp <= 25) && (rebusan == "air" || rebusan == "air")) {
            system.out.println("baru dinyalain...");
        } else if ((temp >= -300 && temp <= 1) && (rebusan == "air" || rebusan == "air")) {
            system.out.println("beku!");
        } else {
            system.out.println("hmm...");
        }    }
}

Mesej ralat:

main.java:11: error: cannot find symbol
        string rebusan = input.nextln();
                              ^
  symbol:   method nextln()
  location: variable input of type scanner

Saya tidak faham apa yang perlu saya lakukan, masalah apa yang perlu saya selesaikan. Adakah ia simbol titik selepas "input"? Apabila saya mengeluarkannya, ia juga tidak berfungsi.

Maaf atas bahasa Inggeris saya yang teruk.

Tetapi apabila saya mengalih keluar "ln" dalam "input.nexln();". ianya berfungsi. Saya tidak faham langsung. Ini kodnya:

import java.util.Scanner;

public class Main
{
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        
        System.out.println("Masukkan Suhu:");
        int temp = input.nextInt();
        System.out.println("Masukkan Hal yang direbus:");
        **String rebusan = input.next();**
        
        if ((temp == 100) && (rebusan == "air" || rebusan == "Air")) {
            System.out.println("Mendidih, segera angkat!");
        } else if ((temp >= 60 && temp <= 100) && (rebusan == "air" || rebusan == "Air")) {
            System.out.println("Sedikit lagi");
        } else if ((temp >= 25 && temp <= 60) && (rebusan == "air" || rebusan == "Air")) {
            System.out.println("Masih lama, sabar");
        } else if ((temp >= 1 && temp <= 25) && (rebusan == "air" || rebusan == "Air")) {
            System.out.println("Baru dinyalain...");
        } else if ((temp >= -300 && temp <= 1) && (rebusan == "air" || rebusan == "Air")) {
            System.out.println("Beku!");
        } else {
            System.out.println("Hmm...");
        }
    }
}

Penyelesaian

Anda mendapat ralat ini kerana kelas pengimbas tidak dinamakan nextln() 的方法,应该用于读取输入的方法是 nextline(). Kod yang betul ialah:

Scanner input = new Scanner(System.in);

    System.out.println("Masukkan Suhu:");
    int temp = input.nextInt();
    System.out.println("Masukkan Hal yang direbus:");
    String rebusan = input.nextLine();

    if ((temp == 100) && (rebusan == "air" || rebusan == "Air")) {
        System.out.println("Mendidih, segera angkat!");
    } else if ((temp >= 60 && temp <= 100) && (rebusan == "air" || rebusan == "Air")) {
        System.out.println("Sedikit lagi");
    } else if ((temp >= 25 && temp <= 60) && (rebusan == "air" || rebusan == "Air")) {
        System.out.println("Masih lama, sabar");
    } else if ((temp >= 1 && temp <= 25) && (rebusan == "air" || rebusan == "Air")) {
        System.out.println("Baru dinyalain...");
    } else if ((temp >= -300 && temp <= 1) && (rebusan == "air" || rebusan == "Air")) {
        System.out.println("Beku!");
    } else {
        System.out.println("Hmm...");
    }    }

Atas ialah kandungan terperinci Ralat: simbol tidak ditemui dalam kod input pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam