Loading...
siconzii avatar siconzii 0 Точки

Square of Stars на Java

Здравейте, при последната задача от домашното се запънах и не мога да измисля как да създам празно място, т.е. да направя квадрата кух. Търсих, но намирам главно C# отговори и не мога да го трансферирам в java код, за това реших да питам.

 

Ето моя код: https://pastebin.com/39AwhmBz

Тагове:
0
Programming Basics
icowwww avatar icowwww 2791 Точки

https://pastebin.com/54tWLJU7

 

  1.  for (int i = 0; i < n - 2; i++) { //цикъл за броя на кухите редовете

  2.             System.out.printf("*");  // всеки ред започва със звезда 

  3.             for (int j = 0; j < n - 2; j++) { //цикъл за празните пространства

  4.                 System.out.printf(" ");

  5.             }

  6.             System.out.println("*"); // всеки ред свършва със звезда

  7.         }

0
09/10/2017 14:52:13
siconzii avatar siconzii 0 Точки

Мерси много. Ще го изпробвам като се прибера, иначе изглежда точно.

0
theoutlowtorn avatar theoutlowtorn 0 Точки

Здравейте, включвам се и аз с въпроси относно същата задача...от вчера се ровя из нета да търся обяснния и решения, но явно бъркм някъде, защото в IntelliJ Idea не ми излиза решението.Или излизат грешки или конзолата стои празна и като цъкна "ентър" се появяват ексепшъните. Ще кача и двата кода, ако може някой да ми посочи къде бъркам. Благодаря предварително :)

import java.util.Scanner;

public class SquareofStars {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = Integer.parseInt(scan.nextLine());

        String stars = new String(new char[n]).replace("\0", "*");
        System.out.println(stars);

        for (int i = 0; i < n - 2; i++) {
            System.out.printf("*");
            System.out.printf(new String(new char[n - 2]).replace("\0"," "));
            System.out.println("*");

        }

        System.out.println(stars);
    }
}

 И това е вторият:

import java.util.Scanner;

public class NewSquareofStars {

    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int n = Integer.parseInt(console.nextLine());
        for (int i = 0; i < n; i++) {
            System.out.print("*");
        }
        System.out.println();
        for (int i = 0; i < n - 2; i++) {
            System.out.printf("*");
            for (int j = 0; j < n - 2; j++) {
                System.out.printf(" ");
            }
            System.out.println("*");
        }
        for (int i = 0; i < n; i++) {
            System.out.print("*");
        }
        System.out.println();
    }
}
0
maistora_1 avatar maistora_1 23 Точки

И двете ти решения работят - пробвах ги в judge.

В judge са поставили лимит Allowed memory: 16.00 MB, а понякога решенията са с по-голямо Memory .

Ето моето решение:

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();

        for (int row = 1; row <= n; row++) {
            for (int col = 1; col <= n; col++) {
                if (row == 1 || row == n) {
                    System.out.print("*");
                } else {
                    if (col == 1 || col == n) {
                        System.out.print("*");
                    } else {
                        System.out.print(" ");
                    }
                }
            }
            System.out.println();
        }
    }
}

 

0
27/12/2017 15:45:33
KeepCoding avatar KeepCoding 554 Точки

theoutlowtorn "System.out.printf()" е функция, която е по-бавна от нормалните "System.out.print()" и "System.out.println()" и ако задачата изисква да се принтира нещо множество пъти, judge може да даде грешка "Лимит време". Пример за такава грешка е задачата "Letters Combinations" от изпита на 18ти декември 2016. Така че не я ползвай, за да принтираш само по един символ, че трудно ще се досетиш сам защо judge не дава пълен брой точки.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.