Javaゼミ第6回直江担当
演習問題解答例
---------------------------------------------------
問1
[継承してメソッド、変数を増やして利用するプログラム]
class Matrix{
int matrix[][],dimension ;
Matrix(int number){
this.dimension=number ;
this.matrix=new int[this.dimension][this.dimension] ;
for(int i=0;i<this.dimension;i++){
for(int j=0;j<this.dimension;j++){
this.matrix[i][j]=1 ;
}
}
}
void Input_matrix(int row,int line,int number){
this.matrix[row][line]=number ;
}
}
class Matrix_2 extends Matrix{
int matrix_2[][],dimension_2 ;
Matrix_2(int number){
super(number) ;
this.dimension_2=number ;
this.matrix_2=new int[this.dimension_2][this.dimension_2] ;
for(int i=0;i<this.dimension_2;i++){
for(int j=0;j<this.dimension_2;j++){
this.matrix_2[i][j]=2 ;
}
}
}
void Input_matrix(int row,int line,int number,int mat_switch){
if(1==mat_switch)this.matrix[row][line]=number ;
if(2==mat_switch)this.matrix_2[row][line]=number ;
}
void sum(){
for(int i=0;i<this.dimension_2;i++){
for(int j=0;j<this.dimension_2;j++){
System.out.print(this.matrix[i][j]+this.matrix_2[i][j]) ;
}
System.out.println() ;
}
}
}
public class test {
static public void main(String args[]){
int dimension=3 ;
Matrix_2 ma_2=new Matrix_2(dimension) ;
System.out.println("加算前...") ;
System.out.println("インスタンス変数...matrix") ;
for(int i=0;i<dimension;i++){
for(int j=0;j<dimension;j++){
System.out.print(ma_2.matrix[i][j]) ;
}
System.out.println() ;
}
System.out.println("インスタンス変数...matrix_2") ;
for(int i=0;i<dimension;i++){
for(int j=0;j<dimension;j++){
System.out.print(ma_2.matrix_2[i][j]) ;
}
System.out.println() ;
}
System.out.println("加算後...matrix + matrix_2") ;
ma_2.sum() ;
}
}
[出力結果]
加算前...
インスタンス変数...matrix
111
111
111
インスタンス変数...matrix_2
222
222
222
加算後...matrix + matrix_2
333
333
333
---------------------------------------------------
問2
[abstractを使って同じメソッドを利用するプログラム]
abstract class Language{
void country(){
}
}
class English extends Language{
void country(){
System.out.println("Britain") ;
}
}
class Chainese extends Language{
void country(){
System.out.println("Chaina") ;
}
}
class French extends Language{
void country(){
System.out.println("France") ;
}
}
class Japanese extends Language{
void country(){
System.out.println("Japan") ;
}
}
public class test {
static public void main(String args[]){
Language lang ;
lang=new English() ;
lang.country() ;
lang=new Chainese() ;
lang.country() ;
lang=new French() ;
lang.country() ;
lang=new Japanese() ;
lang.country() ;
}
}
[出力結果]
Britain
Chaina
France
Japan