JAVA: If / Else / For Methods ?!ЧТО? - PullRequest
0 голосов
/ 09 марта 2012

Я даже не могу сделать основы . Что я делаю не так?

Мне нужно:

  1. Нарисуйте «Х», составленный из звезд (*).Я должен запросить ширину X в звездах.

Мои требования для этого задания:
+1 - запросить размер X
+4 - нарисовать X звездполучить +2, если можно нарисовать сплошной квадрат звезд)

Кстати, я использую Затмение !

import java.util.Scanner; 

/*
* 
*
* Description: Draws a X.
*/

public class Tutorial1
{   
    public static void main(String[] args)
    {   
        Scanner sc = new Scanner(System.in);
        int i,j;
        System.out.print("Enter size of box: 4 ");
        int size = sc.nextInt();

        for (i=0; i < size; i++)
        {
            for (j=0; j < size; j++)
            {
                if ( (i == 0)    // First row
                  || (i == size-1)   // Last row
                  || (j == 0)    // First column
                  || (j == size-1) )     // Last column
                    System.out.print("*");  // Draw star
                else
                    System.out.print(" ");  // Draw space
            }
            System.out.println();
        }
    }
} //

Ответы [ 3 ]

2 голосов
/ 09 марта 2012

Вы уже знаете, ваша проблема.Вы сами заявили: «Я не могу даже сделать основы ».

Тогда изучите основы. TH .

Этот сайт не является службой "напиши мне кусок кода, который выполняет X".Люди помогут вам только с конкретными вопросами по конкретной проблеме.Ваша задача на самом деле новичок, который довольно прост раз вы поняли основные понятия.В противном случае любое решение, которое , которое мы можем предложить, будет для вас бесполезным, поскольку вы даже не понимаете, как была решена проблема.Хуже того, ваше учение, скорее всего, заметит довольно быстро, что вы не написали это самостоятельно.Это винты, которые вы удваиваете - вас обвиняют в мошенничестве и вы так и не узнали ничего .

2 голосов
/ 09 марта 2012

Ваша программа правильно рисует прямоугольник.

Enter size of box: 4 7
*******
*     *
*     *
*     *
*     *
*     *
*******

Вам нужно изменить код, чтобы вместо этого он рисовал крестик.Код на самом деле проще, поскольку у вас есть только две строки вместо четырех.

Я бы удалил 4 из приглашения, поскольку это сбивает с толку.

Enter size of box: 7
*     *
 *   * 
  * *  
   *   
  * *  
 *   * 
*     *
1 голос
/ 09 марта 2012

Вот скелет того, что тебе нужно.Циклы for будут перебирать таблицу.Сложнее всего придумать алгоритм для определения, какой символ печатать.

public class Tutorial1
{ 
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int i,j;
        System.out.print("Enter size of box: ");
        size = sc.nextInt();

        Tutorial1 t = new Tutorial1();
        t.printX(size);
    }

    private int _size = 0;

    public void printX(int size) {       
        _size = size;
        for(int row = 0; row < _size;row++) {
            for(int col = 0; col< _size;col++) {
              System.out.print(getChar(row,col));
            }
            System.out.println();
        }
    }

    private String getChar(int row, int col) {
        //TODO: create char algorithm
        //As a pointer, think about the lines of the X independently and
        //how they increment/decrement with the rows
    }
}
...