좋아요, 그래서 나는 setIncrement()라는 메서드를 만들려고합니다. 내가 사용하고있는 두 개의 클래스, FourDigit에는 두 개의 TwoDigit 객체가 있습니다. 나는 각각 segment1과 segment2를 호출했다. 그들의 관계는 : segment1.segment2입니다. 이 메소드는 segment2를 증가시키고 0으로 재설정되면 메소드는 segment1을 증가시킵니다.getValue 클래스에서 Java 호출
public void setIncrement(){
segment2.incrementValue();
if(segment2.getValue == 0){
segment1.value = segment1.value +1;
}else{
segment2=aNum%tooHighB;
}
getDisplayString();
}
그것은 말한다 : 기호 변수를 찾을 수 없습니다 :
문제는이 코드 조각 내에 getValue() ??? 클래스
FourDigits : 숫자 클래스에서 방법을 취하고있다
이public class FourDigits
{
/**
* Fields
*/
private Digits segment1;
private Digits segment2;
private String displayString;
/**
* Constructor for objects of class FourDigits
*/
public FourDigits(int anyHigha, int anyHighb)
{
segment1 = new Digits(anyHigha);
segment2 = new Digits(anyHighb);
}
/**
* Mutator method to set values
*/
public void setValues(int anyNuma, int anyNumb){
segment1.setValue(anyNuma);
segment2.setValue(anyNumb);
}
/**
* Mutator method to set the increments
*/
public void setIncrement(){
segment2.incrementValue();
if(segment2.getValue == 0){
segment1.value = segment1.value +1;
}else{
segment2=aNum%tooHighB;
}
getDisplayString();
}
/**
* Mutator method to getDisplayString
*/
public void getDisplayString(){
System.out.println(segment1.displayString() ="." + segment2.displayString());
}
}
:
public class Digits
{
/**
* Fields
*/
private int value;
private int tooHigh;
private String displayString;
/**
* Constructors
*/
public Digits(int anyNum)
{
value = 0;
tooHigh=anyNum;
displayString = "";
}
/**
* Mutator method to set the value
*/
public void setValue(int anyValue){
if((anyValue < tooHigh) && (anyValue >= 0)){
value = anyValue;
}else{
value=0;
}
}
/**
* Mutator method to add to the value
*/
public void addValue(){
if(value < tooHigh){
value=value+1;
}else{
value=tooHigh;
}
}
/**
* Mutator method to increment the value
*/
public void incrementValue(){
int incrementValue;
incrementValue = value + 1;
value = incrementValue % tooHigh;
}
/**
* Mutator method to display the string
*/
public void displayString(){
if(value<10){
displayString="0" + value;
}else{
displayString="" + value;
}
System.out.println(displayString);
}
public int getValue(){
return value;
}
}
당신이 (당신의'setIncrement에 "="기호 누락)' 함수를 호출한다. 그것은 "=="이어야합니다. 또한 스택 추적이 도움이됩니다. – gnomed
내가 언급 한 오류를 방지하는 팁은 비교 순서를 뒤집는 것입니다. if (var == 0) 대신'if (0 == var)'를 사용합니다. 그런 식으로 if 문에서 실수 한 과제를 얻지 못할 것입니다. – gnomed