📄 cell.java
字号:
class Cell {
int row_index ;
int column_index ;
Cell(int row_index , int column_index ) {
this.row_index = row_index ;
this.column_index = column_index ;
}
public Row getRow() {
return new Row(row_index) ;
}
public Column getColumn() {
return new Column(column_index) ;
}
public Area getArea() {
return new Area(row_index , column_index ) ;
}
public AreaPosition getAreaPosition() {
return getArea().position ;
}
public AreaCellPosition getAreaCellPosition() {
return AreaCellPosition.getAreaCellPosition(row_index , column_index ) ;
}
public boolean hasValue() {
return SudoService.datas[row_index][column_index] !=0 ;
}
public int getValue() {
return SudoService.datas[row_index][column_index] ;
}
public void setValue( int number) {
SudoService.datas[row_index][column_index] = number ;
}
String joinNumbers(String s1 , String s2) {
String result = "" ;
for(int i=1 ;i<10;i++) {
if (SingleData.stringHasNumber(s1,i) || SingleData.stringHasNumber(s2,i)) result += String.valueOf(i) ;
}
return result ;
}
public boolean updateValue() {
if (hasValue()) return false ;
String rowNumbersString = getRow().getNumbersString();
String columnNumbersString = getColumn().getNumbersString();
String areaNumbersString = getArea().getNumbersString();
String joined = joinNumbers(joinNumbers(rowNumbersString,columnNumbersString), areaNumbersString) ;
if (joined.length()!=8) return false ;
for(int i=1 ;i<10;i++) {
if (!SingleData.stringHasNumber(joined,i)) {
setValue( i ) ;
return true ;
}
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -