Перейти к содержимому

Фото
- - - - -

Нужна помощь с кодом на Java


  • Вы не можете создать новую тему
  • Please log in to reply
17 ответов в этой теме

#1 exclusivepk

exclusivepk
  • Новобранец
  • 9 сообщений

Отправлено 23 ноября 2009 - 21:15

вот код:

public class Probnoe {
	public static void main(String[] args) {
		String [] nimed = {"Peeter", "Ants", "Mari"};
		int i;
		
		for(i = 0; i < nimed.length; i++) {
			System.out.println(nimed[i]);
		}

	}
}
его аутпут:

Peeter
Ants
Mari

мне нужно сделать так чтобы имена писались задом наперёд, возможно перевернуть цикл (не обязательно 3 имени, достаточно одного):

reteeP
stnA
iraM

как делается со стрингами я понимаю, а как перевернуть в массиве сам цикл ума не приложу...
Заранее благодарю.

Сообщение изменено: exclusivepk (23 ноября 2009 - 21:16 )

  • 0

#2 djekk

djekk
  • Пользователь
  • 9 сообщений

Отправлено 23 ноября 2009 - 21:32

for(i = nimed.length; i < 0; i--)
{
for(k = nimed[i].length; k < 0; k--)
{
System.out.print(nimed[k]);
}
System.out.println('"");
}

Сообщение изменено: djekk (23 ноября 2009 - 21:32 )

  • 0

#3 exclusivepk

exclusivepk
  • Новобранец
  • 9 сообщений

Отправлено 23 ноября 2009 - 22:04

for(i = nimed.length; i < 0; i--)
{
for(k = nimed[i].length; k < 0; k--)
{
System.out.print(nimed[k]);
}
System.out.println('"");
}


ругается что во второй строчке length стоит: "length cannot be resolved or is not a field"

Ребят, вы бы написали хоть объяснение, мне же понять хочется почему именно так..

Сообщение изменено: exclusivepk (23 ноября 2009 - 22:07 )

  • 0

#4 Ken0-

Ken0-
  • Пользователь
  • 53 сообщений

Отправлено 23 ноября 2009 - 23:03

String [] nimed = {"Peeter", "Ants", "Mari"};
for(int i = 0; i < nimed.length; i++) { // Цикл по кол-ву элементов массива
		for(int k = nimed[i].length()-1; k >= 0; k--) { //Цикл по кол-ву букв в каждом элементе массива
			System.out.print(nimed[i].charAt(k)); //С конца выводим символы 
		}
		System.out.println(); //Просто первеод строки 
 }
Вот выглядит так.... лично проверил работает ))...
  • 0
Если в слове ХЛЕБ сделать 4 ошибки получиться ПИВО, а если сделать 5 ошибок ... получиться ВОДКА.!!!

#5 exclusivepk

exclusivepk
  • Новобранец
  • 9 сообщений

Отправлено 23 ноября 2009 - 23:09

String [] nimed = {"Peeter", "Ants", "Mari"};
for(int i = 0; i < nimed.length; i++) { // Цикл по кол-ву элементов массива
		for(int k = nimed[i].length()-1; k >= 0; k--) { //Цикл по кол-ву букв в каждом элементе массива
			System.out.print(nimed[i].charAt(k)); //С конца выводим символы 
		}
		System.out.println(); //Просто первеод строки 
 }
Вот выглядит так.... лично проверил работает ))...


Спасибо большое, я бы не подумал даже о вводе 2й переменной..
  • 0

#6 Ken0-

Ken0-
  • Пользователь
  • 53 сообщений

Отправлено 23 ноября 2009 - 23:11

Ничего ) ... это ты в самом начале ещё ) .... дальше хуже но и интереснее )) если что задавай вопросы... не стесняйся )
  • 0
Если в слове ХЛЕБ сделать 4 ошибки получиться ПИВО, а если сделать 5 ошибок ... получиться ВОДКА.!!!

#7 exclusivepk

exclusivepk
  • Новобранец
  • 9 сообщений

Отправлено 23 ноября 2009 - 23:17

если что задавай вопросы... не стесняйся )

Воспользуюсь случаем)))

Вот код:


public class String {
	public static void main(String[] args) {
		String s = "aabbccdd";
		int i;
		
		for(i = s.length() - 1; i >= 0; i--) { 
			System.out.print(s.charAt(i));
		}
	}
}


програмка выводит слово задом наперёд, но у меня такой вопрос: сам пока плохо понимаю что бы это могло быть, надо сделать функцию, именно функцию, которая бы писала слово задом наперёд...

Сообщение изменено: exclusivepk (23 ноября 2009 - 23:20 )

  • 0

#8 Ken0-

Ken0-
  • Пользователь
  • 53 сообщений

Отправлено 24 ноября 2009 - 00:06

public static void backPrint(String str) {	   
		for(int i = str.length() - 1; i >= 0; i--) { 
			System.out.print(str.charAt(i));
		}
		System.out.println();	 
	}
	
	public static void main(String[] args) {
		backPrint("aabbccdd");   
	}
на мой взгляд тут ещё легче ... просто пихнуть это всё в функцию!!

Сообщение изменено: Ken0- (24 ноября 2009 - 00:26 )

  • 0
Если в слове ХЛЕБ сделать 4 ошибки получиться ПИВО, а если сделать 5 ошибок ... получиться ВОДКА.!!!

#9 exclusivepk

exclusivepk
  • Новобранец
  • 9 сообщений

Отправлено 24 ноября 2009 - 14:42

public static void backPrint(String str) {	   
		for(int i = str.length() - 1; i >= 0; i--) { 
			System.out.print(str.charAt(i));
		}
		System.out.println();	 
	}
	
	public static void main(String[] args) {
		backPrint("aabbccdd");   
	}
на мой взгляд тут ещё легче ... просто пихнуть это всё в функцию!!

а сама функция где? backPrint ?
  • 0

#10 Ken0-

Ken0-
  • Пользователь
  • 53 сообщений

Отправлено 24 ноября 2009 - 14:49

Да
  • 0
Если в слове ХЛЕБ сделать 4 ошибки получиться ПИВО, а если сделать 5 ошибок ... получиться ВОДКА.!!!

#11 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 24 ноября 2009 - 23:11

String back = new StringBuffer(to).reverse().toString();
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#12 Ken0-

Ken0-
  • Пользователь
  • 53 сообщений

Отправлено 25 ноября 2009 - 00:23

Ну учитывая что он на 1 курсе )) то там как бы требуют циклы )) ... но можно и так ... кстати спасибо запомню ))
  • 0
Если в слове ХЛЕБ сделать 4 ошибки получиться ПИВО, а если сделать 5 ошибок ... получиться ВОДКА.!!!

#13 Equals

Equals
  • Пользователь
  • 76 сообщений

Отправлено 25 ноября 2009 - 13:51

За что я люблю Ruby, то там почти всё можно написать в одну строчку

["Peeter", "Ants", "Mari"].each { |name| p name.reverse }

  • 0

#14 ShagY

ShagY
  • Пользователь
  • 116 сообщений

Отправлено 28 ноября 2009 - 17:32

а как сделать тоже самое с числами?
  • 0

#15 Mr. Positive

Mr. Positive
  • Постоялец
  • 850 сообщений

Отправлено 28 ноября 2009 - 17:41

ShagY, можешь число преобразовать в строку и тогда также :)

Сообщение изменено: Mr. Positive (28 ноября 2009 - 17:41 )

  • 0
Former IAPB 8X.
Bachelor of Eternity

#16 ShagY

ShagY
  • Пользователь
  • 116 сообщений

Отправлено 29 ноября 2009 - 13:04

всё равно не понимаю...
допустип мне цикл for выдаёт 123456789как мне сделать наоборот ? только уже допупистим без for/
  • 0

#17 ruslan)

ruslan)
  • Постоялец
  • 1 796 сообщений

Отправлено 29 ноября 2009 - 13:41

backPrint("aabbccdd");

поржал
  • 0

#18 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 30 ноября 2009 - 18:46


int x = 123456789;

String back = new StringBuffer("" + x).reverse().toString();


  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...