2015-01-20 1 views
-3

내 문제는 노란색 경고 기호 (?)가 튀어 나와 내 메소드/기본 클래스가 작동하지 않는다는 것입니다.메소드의 부울 값, 삼각형 기호가 튀어 나오고 해결 방법을 알지 못합니다. 30 분 안에 검사합니다.

package ïnnanprovet; 

import java.util.Scanner; 

/** 
* 
* @author robin.dahlkvist 
*/ 
public class Ïnnanprovet { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     Scanner in = new Scanner(System.in); 
     //* boolean check 
     prt("Enter a character: "); 
     char character = (in.nextLine()).charAt(0); 
     boolean numberOrCharacter = siffra(character); 
     if (numberOrCharacter = true) { 
      prtln("It's a number"); 
     } 
     if (numberOrCharacter = false) { //on this row the warning comes up. 
      prtln("It's not a number"); 
     } 
    } 

    static boolean siffra(char character) { 
     boolean numberOrCharacter = false; 
     char theNumber = '0'; 
     char[] number = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0',}; 
     for (int n = 0; n < number.length; n++) { 

      if (character == number[n]) { 
       numberOrCharacter = true; 
      } 
     } 
     return numberOrCharacter; 
    } 

    public static void prt(String a) { 
     System.out.print(a); 
    } 

    public static void prtln(String a) { 
     System.out.println(a); 
    } 

} 
+2

아직 오류 메시지를 읽지 않은 경우 30 분 내에 시험을 볼 준비가되지 않은 것입니다. Java에서'= '은 무엇을 의미합니다. "평등하다"는 의미입니까? 아니면 "가치를 얻는다"는 의미입니까? –

답변

0

은 당신의 코드를 살펴 주시기 바랍니다 보자

boolean numberOrCharacter = siffra(character); 
if (numberOrCharacter = true) { //numberOrCharacter is boolean 
    // prtln("It's a number"); 
} 
if (numberOrCharacter = false) { //numberOrCharacter is boolean 
    // prtln("It's not a number"); 
} 

그래서 왜 boolean 여기에 중복해야합니까? 또한 numberOrCharacter = true는 비교가 아닌 과제입니다. IDE가 알림으로 알릴 수도있는 것은 numberOrCharacter == true이어야합니다.

그냥 사용 : 당신은 할당보다는 비교을 사용하고

boolean numberOrCharacter = siffra(character); 
if (numberOrCharacter) { 
    // prtln("It's a number"); 
} 
if (!numberOrCharacter) { 
    //prtln("It's not a number"); 
} 
+0

BTW'numberOrCharacter = true'는 비교가 아닌 할당입니다. –

+0

더하기 'numberOrCharacter = true'는 numberOrCharacter를 설정합니다 – PDStat

+0

@PaulStatham 예 .. –

0

:

if (numberOrCharacter = true) //Assigns numberOrCharacter = true 
if (numberOrCharacter == true) //Checks if true 

그냥이 내가 그것을 해결하는 방법입니다

if (numberOrCharacter) 
1

사용 최소한의 부기로 함수에서 ld.

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    prt("Enter a character: "); 
    char ch = (in.nextLine()).charAt(0); 
    prtln("It's " + (ch<'0'||ch>'9' ? "not " : "")+"a number"); 
} 
관련 문제