2017-02-14 185 views
3

嘿,我有一些麻煩,我的Java代碼。 我嘗試用java編碼幾個小時,我不知道爲什麼我要問。我通過嘗試學習最好,但我遇到了很多問題。Java如果(是或否語句)

所以:我想掃描儀掃描的下一條語句,如果它的「JA」它應該做的事,如果等

的問題是,當我嘗試編譯它與=錯誤s.nextInt的東西。在控制檯中它說:「找不到符號」。我嘗試了很多我不知道該怎麼做的事情。已經嘗試過這麼多。

import java.util.Scanner; 

public class Brotcrunsher { 
    public static void main(String args[]) { 
     Scanner scan = new Scanner(System.in); 
     System.out.println ("Hallo"); 
     System.out.println ("A flag has more then 1 color right?"); 
     String a = s.NextInt(); 
     if (a.equals("ja")) { 
      System.out.println ("You arent dumb, nice."); 
     } // end of if 
     else { 
      System.out.println ("You arentn a genie"); 
     } // end of if-else 
    } 
} 

在此先感謝。

編輯:問題解決了。感謝你的每一個人。我盡我所能來標記自己的崗位更好,格式化我的代碼更好

+0

嘗試'scan.nextLine()的''而不是s.NextInt()' – Eran

+0

第一,它是'nextInt'不'NextInt'(解釋 「找不到符號」),當然這是用來獲取'int'而不是'String'。 – AxelH

+1

玩得開心,決定哪個答案值得接受;-)但是,也許你很幸運,並得到另一個upvote;並在達到「優級聲譽」時;您至少可以同等提供所有答案;-) – GhostCat

回答

0

兩個問題,一個是aString不是int,第二個是Scanner.nextLine()(或nextInt()next())。而且,本地參考是scan(而不是s)。像,

String a = scan.nextLine(); 
1

這裏:

String a = s.NextInt(); 

你想a是字符串(如您想將它與其他字符串後面比較這是有道理的);所以你最好使用:

String a = s.nextLine(); 

改爲!

另一種方法一)不存在和b)nextInt() ...返回一個數字,而不是字符串

+0

感謝您的答覆。但是在控制檯中沒有發生很大的變化。出於某種原因,還在說:如下: 「字符串A = s.nextLine(); ^ 符號:方法nextLine() 位置:類Brotcrusher 錯誤:無法找到symbole –

+0

@Kaipo這是在聲明中命名爲'scan' ...你在你的代碼中輸入了一個錯字 – AxelH

1

嘗試:

import java.util.Scanner; 
public class Brotcrunsher { 
    public static void main(String args[]){ 
     Scanner scan = new Scanner(System.in); 

     System.out.println ("Hallo"); 
     System.out.println ("A flag has more then 1 color right?"); 

     String a = scan.nextLine(); 
     if (a.equals("ja")) { 
      System.out.println ("You arent dumb, nice."); 
     } // end of if 
     else { 
      System.out.println ("You arentn a genie"); 
     } // end of if-else 
    } 
} 
+0

已經工作了,謝謝你對這個社區做好準備 –

+2

你應該強調這種答案的變化,沒有這個,他永遠不會看到差異, -past;) – AxelH

0

您可以使用這樣的。

import java.util.Scanner; 
class ScannerTest{ 
    public static void main(String args[]){ 
     Scanner sc=new Scanner(System.in); 

     System.out.println("Enter your rollno"); 
     int rollno=sc.nextInt(); 
     System.out.println("Enter your name"); 
     String name=sc.next(); 
     System.out.println("Enter your fee"); 
     double fee=sc.nextDouble(); 
     System.out.println("Rollno:"+rollno+" name:"+name+" fee:"+fee); 
     sc.close(); 
    } 
} 

refrence:http://www.javatpoint.com/Scanner-class

+1

你應該檢查關於鏈接的[答案] ... – AxelH

+0

因爲該鏈接包含整個示例 –

+1

只是其中一個重要的行我指出:「總是引用重要鏈接中最相關的部分,以防目標網站無法訪問或永久脫機。」_現在看起來像是一個評論;) – AxelH

0

你已經得到了應

String a = scan.next(); 

編譯錯誤由於掃描是掃描儀的對象,你正在使用String a = s.NextInt();這是不是在掃描儀的所有對象。

1

我可以看到兩個錯誤,首先你是從命令行用戶採取字符串輸入使掃描儀必須是「scanner.nextLine()」這需要一個字符串,因爲它代表你期待一個整數值。

其次你「s.scanner」不叫什麼,你已經宣佈你的掃描儀名稱「掃描」,所以你需要改變,要「掃描」


import java.util.Scanner; 

public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 

    System.out.println("A flag has more than one colour?"); 
    String input = scan.nextLine(); 

    if (input.equals("yes")) { 
     System.out.println("well done"); 
    } else { 
     System.out.println("wrong answer"); 
    } 
}