>source

나는 현재 자바를 배우고 있습니다.

import java.util.*;
public class numbers {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("How big is the array: ");
        int size = input.nextInt();
        int[] numb = new int[size];
        for (int i=0;i<size;i++)
        {
            numb[i] = i;
        }
        
        //change value of last 3 index of array to 0
        for (int i =0; i<size;i++)
        {
            System.out.println(numb[i]);
        }        
    }
}

현재 실행 한 경우 출력 방법은 다음과 같습니다.

How big is the array: 7
0
1
2
3
4
5
6

마지막 3 개의 인덱스 값을 0으로 변경하려면 어떻게해야합니까? 우는 내 예상 출력입니다

How big is the array: 7
0
1
2
3
0
0
0

미리 감사드립니다!

  • 답변 # 1

    마지막 3 개의 색인을 반복하고 다음과 같이 설정할 수 있습니다. 0 .

    for (int i = 1; i <= 3; i++) {
        num[num.length - i] = 0;
    }
    
    

  • 답변 # 2

    네 말 뜻은?

    //change value of last 3 index of array to 0   
            for (int i = size-1; i >= size-3;i--)
            {
                numb[i] = 0;
            }
            
            //OR
            
            for (int i = size-2; i<size;i++)
            {
                numb[i] = 0;
            } 
            
            for (int i = 0; i<size;i++)
            {
                System.out.println(numb[i]);
            }
    
    

  • 답변 # 3

    이것은 트릭을 수행해야합니다.

    //change value of last 3 index of array to 0
            if (size <= 3) {
                for (int i =0; i<size;i++)
                {
                    numb[i] = 0;
                }  
            } else {
                for (int i=size-3; i<size; i++) {
                    numb[i] = 0;
                }
            }
    
    

관련 자료

  • 이전 typescript - 구독 취소 유형의 출처는 어디입니까?
  • 다음 파이썬에서 if 또는 for 블록없이 목록 요소 가져 오기