마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

초보 입문자인데요.. Java String. length 관련하여 질문 드립니다.

0 추천

 

안녕하세요 프로그래밍 초보 입문자인데요
java 관련된 기초부분에 관하여 질문드립니다.

선형리스트 표현을 연습중인데요
string.length에 궁금한점이 있어 질문드립니다.

class test
{
 String input[];
 int index;
 int length;
 test(int index)//생성자1
 {
  this.index = index;
  input = new String[3];
 }
 void set(int index, String input)
 {
  if(index>=this.input.length)    <--------------- 이부분이 헷갈리네요
  {
   String [] temp = new String[index+1]; // 선형리스트에서 원소삽입
   System.out.printf(index+"\n#"+this.input.length+"#\n");
   for(int i=0;i<this.input.length;i++)
   {
    temp[i]=this.input[i];// temp 임시 저장소에 저장
   }
   this.input = temp;
   this.input[index]=input;
   
  }
  else
  {
   this.input[index]=input;
  }
 }
 void output()
 {
  int k=0;
  for(String m : input) // // input이라는 배열에 다 채울때까지 m이라는 변수에 대입
  {
   
   System.out.printf("테이블 num= "+index+" ,["+k+"]" + "input= " + m + ", length? "+
   this.input.length+"\n");
   k++;
  }
 }
 
}
public class main {


 public static void main(String[] args) {
  // TODO Auto-generated method stub
  test T = new test(1);//생서앚에 1 부여
  T.set(0, "감");
  T.set(1, "감자");
  T.set(2,"고구마");
  T.set(3,"사과");
  T.set(4, "파인애플");
  T.set(1, ""); 
  T.output();
 }

}

이러한 코드를 치면 결과로

테이블 num= 1 ,[0]input= 감, length? 5
테이블 num= 1 ,[1]input= , length? 5
테이블 num= 1 ,[2]input= 고구마, length? 5
테이블 num= 1 ,[3]input= 사과, length? 5
테이블 num= 1 ,[4]input= 파인애플, length? 5

가 나옵니다. 여기서 궁금한점은 위의 빨간 글씨에 들어가있는 값이
문자열의 길이 일줄 알았는데 배열공간의 갯수가 나오더군요


String 의 length 인데  문자열의 길이가 표시되는것이 아니고
String [ ] 의 생성된 갯수가 표시되는건가요  

답변 부탁드려요 ㅎ

마르코니 (120 포인트) 님이 2014년 4월 19일 질문

1개의 답변

+1 추천
가만히 생각해보시면 되죠~~!

input.length 가 스트링의 길이를 원하시는 거라면....

input 은 어떤 문자열인가요?

고구마인가요? 사과인가요?파인애플인가요?

input는 스트링의 배열입니다. 즉 배열의 길이를 물어 보았으니 배열의 길이를 반환하는게 정상인거구요~!

직접 스트링의 길이를 원하신다면 지정을 해주셔야 겠지요~!

input[0].length 이렇게 말입니다~~!

이렇게 하면 명확 해지죠?

input 0번째의 스트링의 길이를 구해라~~! ^^
ThisPlus (46,920 포인트) 님이 2014년 4월 20일 답변
...