2016-04-07 34 views
0

Temel olarak, bir matristeki öğeleri tek bir satırda ters olarak değiştirmek istiyorum. o ters takas olur ne zaman olacağını SonraMatris İçinde Tek Satır İçinde Döndürme Öğeleri

--*---*- 

:

-*---*-- 

Ben "eşit değerlere bunu yapmak gerekir Örneğin bu bir int matris içinde satır ise * "bir matriste Bu benim sahip olduğum şey. İşe yarayıp yaramayacağından bile emin değilim, ayrıca sınırların dışında bir istisna da alıyorum. Bu matris "görüntü" bir String matrisidir. (image.length - 1): Bu numarayı neden ihtiyacın olduğunu

image[i][(image.length - 1) - (image[i].length) - j] = "*";

görmüyorum:

public void flipHorizontal(){ 
    for (int i=0; i<image.length; i++){ 
     for (int j=0; j<image[i].length; j++){ 
      if (image[i][j].equals("*")){ 
       if(j<(image[i].length-1)/2){ 
        image[i][(image.length-1)-(image[i].length)-j]="*"; 
        image[i][j]="-"; 
       } 
       else 
        image[i][(image[i].length-1)-j]="*"; 
        image[i][j]="-"; 

      } 

     } 

    } 
} 
+0

yineleyin. Örneğiniz net değil. Satırdaki her elemanı değiştirmek mi istiyorsunuz, yani sadece tüm satırı tersine çevirmek mi yoksa sadece tüm * * 'lerdeki pozisyonları tersine çevirmek mi istiyorsunuz? AB * CDE * F' gibi farklı bir satır için örnek verin. – rgamber

cevap

0

hataya neden gibi görünüyor hat çizgisi 6'dır. Kaç tane satır var, ve bunun neden tek bir sıra çevirmek için yararlı olduğunu anlamıyorum.

Ayrıca, döngüler, 0 ile 3 arasında bir dizine sahip olacak 4 bir uzunluğu, size mi birden fazla iterasyon verecek image.length (veya image[i].length), 0 ile yineleme ve 0 amacıyla 4. edilir Bunu düzeltmek için basitçe 0'dan 'image.length