Другие языки программирования и технологии

Вопрос по Java №4

Дорогие мои программисты! Не могу разобраться с substring.Допустим, мне нужно, чтобы из строчки показались 1,4 и 7 символы.НО! Пишет ошибку(String three="| * |";String three_d=three.substring(0,1,4,7);Появляется ошибочка "cannot find symbol method substring(int,int,int,int)"
ошибка потому, что не такого метода substring(), который принимал бы такую кучу аргументов. Можете лишь указать, для примера
three.substring(3) - результатом будет кусок текста из переменной three, начиная с 4-го символа (нумерация идёт от нуля) и до конца строки. Т. е. результат будет содержать пробел перед последней вертикальной чертой.

three.substring(1,3) - результатом будет подстрока начинающаяся со второго символа и заканчивающаяся четвёртым. Т. е. результат будет " * " (пробел звёздочка пробел)

кстати, строка приведённая в примере короче чем 7 символов. Как вы собираетесь выводить седьмой символ?

для примера, дана строчка "abcdefg" и надо выбрать символы на позициях 1, 4 и 7. Это можно реализовать где-то так:
String three = "abcdefg";
String three_147 = three.substring(0,1) + three.substring(3,4) + three.substring(6);

результатом будет строчка :
adg
Dj. Asik Dj
Dj. Asik Dj
57 850
Лучший ответ
Сергей Никульшин Спасибо за разъяснение... Символов действительно 7 просто я скопировал строчку с JCreator, оно как-то мало пробелов оставило...
А как по-другому можно выполнить это? Мне просто задали создать программу, которая будет "бросать кости". Пользоваться массивами нельзя, только println и генератором чисел. Числа сгенерировать могу, это легко, но картинку кости, чтобы она менялась с помощью substring....
Сергей Никульшин Вот и сам код программы...

import java.util.Scanner;
import java.util.*;

public class w1ex9{
public static void main(String args[]){

Random rnd = new Random();
int no = rnd.nextInt(6)+1;

String one = "-------";
String two = "|* * *|" ;
String three="| * |";
String four ="|* * *|";
String five ="-------";

System.out.println("Number = " + no);

if (no==1){

String two_d =two;
String three_d=three.substring(0,1);
String four_d=four.substring(0,1);

System.out.println(one);
System.out.println(two_d);
System.out.println(three_d);
System.out.println(four_d);
System.out.println(five);
}

else if (no==2){

String two_d =two.substring(0,1);
String three_d=three.substring(0,1);
String four_d=four.substring(0,1);

System.out.println(one);
System.out.println(two_d);
System.out.println(three_d);
System.out.println(four_d);
System.out.println(five);
}

else if (no==3){

String two_d =two.substring(0,1);
String three_d=thre
А почитать, слабо? Хотя бы описание substring в справке, её определение сильно отличается от твоего кода. С каджым годом интернет тупеет.
Сергей Никульшин А ответить слабо?
если б я задавал каждый вопрос, когда сталкивался с подобным, ответ на которое можно найти в Javadocs... я бы тут все ответы засрал.. . )))))
пожалуйста прежде чем задать вопрос, поищите ответ, хотя бы минут 20, в javadoc, на сайте java.sun.com или в гугле.. . если нет, то тогда задавайте.. . чем сложнее вопрос - тем интереснее, тем выше вас как программиста тут оценят и будут вам отвечать профи...
Сергей Никульшин Все что я нашел здесь, http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html, объясняло только как показать на диапазон с такого-то символа по такой-то, например, показать с 5 по 15 символ... Но никак, не то, что мне было нужно.
http://npksv.ru/soft/java/glava9.php - тут тоже ничего о том, что мне нужно было осуществить.
А голова не додумалась, поэтому и спрашиваю, это же хорошо, когда можно спросить у людей, которые знают свое дело и с легкостью покажут, за что получат 10 баллов. =)