Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

кто хочет голову поломать?

1116  
andrey.... прохожий07.11.10 21:27
NEW 07.11.10 21:27 
у меня никак не выходит привести её в рабочее состояние
Gegeben sei das untenstehende Java-Programm. Finden Sie die
Fehler und Verbessern Sie sie!
Hinweise:
 Das Programm Ein korrekter Durchlauf sieht wie folgt aus:
Please enter the hight in double precision: 2.0
Please enter the length in double precision: 3.0
The surface is 15.0
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* Program to calculate surface
*
* @author
*/
public class Pyramide
{
/**
* Main method.
*
* @param args
* command line arguments
*/
public static void mymain(String args[])
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try
{
System.out
.print(Please enter the hight in double precision: );
String s = in.readLine();
double length = Double.parseDouble(s);
System.out.print("");
System.out
.print("Please enter the length in double precision: ")
String s = in.readLine();
int hight = Double.parseDouble(s);
double surface = length*length * Math.sqrt(4(hight+length)*length );
System.out.println("The surface is "+hight);
}
catch (Exception e)
{
System.out.println("Invalid entry.");
System.exit(1); // non-zero status indicates abnormal termination
}
}
}[/url]
#1 
Murr_0003 постоялец07.11.10 21:42
NEW 07.11.10 21:42 
в ответ andrey.... 07.11.10 21:27
Думаю, что проблема здесь.
В ответ на:
double surface = length*length * Math.sqrt(4(hight+length)*length );

Эээ... кто-нибудь объяснял разницу между операторами и операндами и как определяется порядок вычислений?
#2 
Murr_0003 постоялец07.11.10 21:43
NEW 07.11.10 21:43 
в ответ Murr_0003 07.11.10 21:42
Еще одна проблема тут
В ответ на:
public static void mymain(String args[])

#3 
Bigfoot свой человек07.11.10 21:44
Bigfoot
NEW 07.11.10 21:44 
в ответ Murr_0003 07.11.10 21:42
Читай внимательней. Тут задача состоит в поиске ошибок. Топикстартеру лень колупаться самому, решил нахаляву напрячь аксакалов. Ведь добрые аксакалы наверняка захотят блеснуть...
Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
#4 
andrey.... прохожий07.11.10 21:55
NEW 07.11.10 21:55 
в ответ Bigfoot 07.11.10 21:44
да нет большую часть ошибок я нашел,но это мне не помогло не работает:((
а программку выставил в том виде в каком получил
#5 
Bigfoot свой человек07.11.10 22:43
Bigfoot
NEW 07.11.10 22:43 
в ответ andrey.... 07.11.10 21:55
Если хочешь помощи - сообщи, какие ошибки уже нашел (в виде исправленного листинга в удобочитаемом виде). А также все сообщения об ошибках в ходе работы _исправленной тобой_ программы.
Иначе получается чистой воды халявничество: решите за меня задачку. А сие надо злобно пресекать.
Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
#6 
Murr_0003 постоялец07.11.10 22:55
NEW 07.11.10 22:55 
в ответ Bigfoot 07.11.10 21:44
Читай внимательней.
------
Читаю внимательно - отметил именно проблемные места.
Что до того, чтобы написать код за начинающего - такое случается крайне редко - когда делать совсем нехрен...
#7 
Murr_0003 постоялец07.11.10 23:02
NEW 07.11.10 23:02 
в ответ Bigfoot 07.11.10 22:43
А сие надо злобно пресекать.
-----
Это - ДА!!! Это - правильно...
А помогать можно только тем, кто более-мение равен по возможностям...
или сам сильно старается изучить... и имеет хоть небольшой, но прогресс.
#8 
Alexa- знакомое лицо08.11.10 12:22
Alexa-
08.11.10 12:22 
в ответ andrey.... 07.11.10 21:27

только по какой формуле surface рассчитывать,не знаю
В ответ на:
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* Program to calculate surface
*
* @author
*/
public class Pyramide
{
/**
* Main method.
*
* @param args
* command line arguments
*/
public static void main(String args[])
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.print("Please enter the hight in double precision: ");
String s = in.readLine();
double length = Double.parseDouble(s);
System.out.print("");
System.out.print("Please enter the length in double precision: ");
String ss = in.readLine();
double hight = Double.parseDouble(ss);
double surface = length*length * Math.sqrt(4*((hight+length)*length ));
System.out.println("The surface is "+surface);
}
catch (Exception e)
{
System.out.println("Invalid entry.");
System.exit(1); // non-zero status indicates abnormal termination
}
}
}

#9 
andrey.... прохожий08.11.10 23:15
NEW 08.11.10 23:15 
в ответ Alexa- 08.11.10 12:22
Спасибо за ответ!
до этой строки " double surface = length*length * Math.sqrt(4*((hight+length)*length )); " я так же написал , знак * и скобки не заметил.
на один шаг продвинулся
#10 
Бортэ-Чино гость08.11.10 23:27
Бортэ-Чино
NEW 08.11.10 23:27 
в ответ Murr_0003 07.11.10 21:42
Очередной "полезный" ответ. Есле баран то не засоряй эфир. Здесь надеются получить помощь а не слушать всякую х....
#11 
Murr_0003 постоялец09.11.10 00:03
NEW 09.11.10 00:03 
в ответ Бортэ-Чино 08.11.10 23:27
Очередной "полезный" ответ.
------
Ты с ПТиЦАй разобрался?
Здесь надеются получить помощь
------
Ну что тут поделаешь - чтобы понять некоторые элементарные вещи надо сначала выучить еще более элементарные... ну что-нибудь типа сложения перед умножением... скажем про 2 + 2 = 11...
Это, кстати, еще одна подсказка для тебя. Поверь, прямо по теме твоего вопроса...
#12 
voxel3d патриот09.11.10 00:07
voxel3d
NEW 09.11.10 00:07 
в ответ andrey.... 07.11.10 21:27
Площадь какой поверхности вычисляется?
Dropbox - средство синхронизации и бэкапа файлов.
#13 
Murr_0003 постоялец09.11.10 00:13
NEW 09.11.10 00:13 
в ответ voxel3d 09.11.10 00:07
Пых... Какая вообще поверхность? Там третья степень размерности...
#14 
  Mars_Berlin2005 прохожий12.11.10 14:13
Mars_Berlin2005
NEW 12.11.10 14:13 
в ответ Alexa- 08.11.10 12:22
Программка работает, только формула какая то гнилая.
Прежде чем считать, нужно разовраться, какую пирамиду мы рассматриваем:
если основание - квадратная площадь, то следующий вопрос: хотим ли мы площадь основания (Grundfläche) тоже брать в расчёт?
Если нет (если только поверхностные площади), то их 4.
Если Пирамида не кривая, то:
surface = 2 * length * sqrt(height^2 + (length/2)^2)
length я принял за длинну стороны Grundfläche.
А будешь спрашивать, как я пришёл к формуле, то учи теорему Пифагора или иди в класс 4-5.
#15