Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2011, 13:40   #1
lelicki_bolicki
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 13
По умолчанию Найдите,пжл, ошибку в коде Java

Необходимо написать программу, которая выводила бы на экран такой ромб вот в таком виде:




public class Diamond {

public static void main(String[] args) {
int N = Integer.parseInt(args[0]);

for (int i = -N; i <= N; i=i+1) {
for (int j = -N; j <= N; j++) {
if (Math.abs(i) + Math.abs(j) <= N) System.out.print("* ");
else System.out.print(" ");
}
System.out.println();
}
}
}


у меня ошибка, и я не понимаю где. Пожалуйста, помогите.
lelicki_bolicki вне форума Ответить с цитированием
Старый 14.10.2011, 13:58   #2
Алек
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

а что пишет? какая ошибка?..ты импорты подключил все? или ромб не получается? тогда пропробуй так System.out.print("*");

Последний раз редактировалось Алек; 14.10.2011 в 17:42.
Алек вне форума Ответить с цитированием
Старый 14.10.2011, 23:03   #3
lelicki_bolicki
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 13
По умолчанию

ошибка вот в чем
если запустить это через командную строку и всвести значение, то левая часть ромба- нормальная, а вот справа она получается вытянутой, то есть далеко не симметричной правой стороной
lelicki_bolicki вне форума Ответить с цитированием
Старый 14.10.2011, 23:05   #4
lelicki_bolicki
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 13
По умолчанию

компилятор ошибки не выдает
при запуске программы выпадает ошиба- исключения... блаблабл. что то там про то что значение выходит за границу массива. код ошибки 3. вот как то так
lelicki_bolicki вне форума Ответить с цитированием
Старый 15.10.2011, 09:49   #5
Алек
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

Цитата:
Сообщение от lelicki_bolicki Посмотреть сообщение
, то левая часть ромба- нормальная, а вот справа она получается вытянутой, то есть далеко не симметричной правой стороной
это получается из-за System.out.print("* "); если сделать так System.out.print("*"); то нормальный ромб выведет. а лучше всего действительно не через командную строку N вводить, а по умолчанию ей какое-то значение дать.
Алек вне форума Ответить с цитированием
Старый 15.10.2011, 11:32   #6
Алек
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

вот вроде работает..если я верно понял твое задание.
import java.io.*;
/**
*
* @author SASHA
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main (String args []) throws Exception {
BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
String a = d.readLine();
try
{

int N = Integer.parseInt(a);
for (int i = -N; i <= N; i++)
{
for (int j = -N; j <= N; j++)
{
if (Math.abs(i) + Math.abs(j) <= N)
System.out.print("*");
else System.out.print(" ");
}

System.out.println();

}

}
catch(Exception e) {System.out.println("Error translating text to int");}
}
}
Алек вне форума Ответить с цитированием
Старый 15.10.2011, 22:40   #7
lelicki_bolicki
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 13
По умолчанию

а можно как то без исключений? а то мы их еще не проходили особо. это будет совсем не похоже на студ работу. "*"- все равно кривой ромб получается...
lelicki_bolicki вне форума Ответить с цитированием
Старый 18.10.2011, 11:13   #8
Алек
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

без исключения, вроде бы нельзя, т.к. оно и выдает ошибку-не обработано исключение...а ромб нормальный вот принскрин-посмотри.
Изображения
Тип файла: jpg 1.jpg (10.8 Кб, 122 просмотров)
Алек вне форума Ответить с цитированием
Старый 19.10.2011, 00:01   #9
lelicki_bolicki
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 13
По умолчанию

большое спасибо
lelicki_bolicki вне форума Ответить с цитированием
Старый 19.10.2011, 09:30   #10
lelicki_bolicki
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 13
По умолчанию

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


и тоже через циклы, но без исключений
и что тогда делать?)
lelicki_bolicki вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найдите ошибку в маленьком коде Crabobass Помощь студентам 3 07.03.2011 09:41
Найдите косяк в коде Kingcss Общие вопросы Delphi 2 02.01.2011 08:35
Найдите ошибку в коде Arch0000 Общие вопросы C/C++ 0 29.05.2010 07:32
найдите ошибку в коде TopoRRR Помощь студентам 6 15.12.2009 10:30
найдите ошибку в коде pony Помощь студентам 1 14.09.2009 10:03