0

これが私のコードです:

//method to rotate the picture
public static Picture modifyPicture (Picture p, int value)
{
 // get width and height of the picture
 int width = p.getWidth();
 int height = p.getHeight();
 System.out.println ("Picture has width of " + width + 
                     " and height of " + height);
 if (value == 1)
 {
  Picture p2 = new Picture (height, width);

  int x = -1;
  int y = -1;

  for  ( x = 0 ; x < width ;  ++x )
  {
   for ( y = 0 ; y < height ; ++y )
   {
     // access the original pixel
     Pixel pixel1 = p.getPixel (x, y);
     Color c1 = pixel1.getColor();

     // access the pixel to modify
     int modifyXPos = (height-1)-y;
     int modifyYPos = x;
     Pixel pixel4 = p2.getPixel (modifyXPos, modifyYPos);
     pixel4.setColor( c1 );
   }
  }
  return p2;
 }
 else if (value == 2)
 {
  Picture p2 = new Picture ( width , height);

  int x = -1;
  int y = -1;

  for  ( x = 0 ; x < width ;  ++x )
  {
   for ( y = 0 ; y < height ; ++y )
   {
     // access the original pixel
     Pixel pixel1 = p.getPixel (x, y);
     Color c1 = pixel1.getColor();

     // access the pixel to modify
     int modifyXPos = x;
     int modifyYPos = (height-1) - y;
     Pixel pixel4 = p2.getPixel (modifyXPos, modifyYPos);
     pixel4.setColor( c1 );
   }
  }
  return p2;
 }
 else
 {
  System.out.println ("Value out of range");
 }
}

}// クラスの終わり

したがって、最後から 2 番目のセミコロンで、「return ステートメントがありません」というエラーが表示されますが、その理由は理解できます。私はそれをどのように修正するのか分かりません。「if」ステートメントの前にPicture p2などを書き換えても、座標を変更する必要があるため役に立たないため、それ以外に、最後にreturnステートメントを配置する方法がわかりません。助けてください、そしてあなたの時間と答えに感謝します!

4

5 に答える 5