자바 반복을 이용한 정수 쌍 나열

import java.util.Scanner;
public class Main {
  public static void main(String[] args) {
		int n;
		System.out.print("Please enter an integer:");
		Scanner scan = new Scanner(System.in);
		n = scan.nextInt();
		
		for(int i = 0; i <= n; i++) {
			for(int j = 0; j <= n; j++) {
				if (i != j && i % j == 0) {
			        System.out.println(i, j);
			}
		}

	}
}

0보다 큰 정수 n을 입력 받아 다음과 같은 조건을 만족하는 1과 n사이에 있는 정수들의 쌍(i,j)을 출력하는 프로그램

  1. i는 j로 나누어 떨어져야 한다.

  2. i != j

Please enter an integer:6

(2,1)
(3,1)
(4,1)
(4,2)
(5,1)
(6,1)
(6,2)
(6,3)
이렇게 출력하려는데 반복문 제가 쓴게 맞는지 그리고 출력할때 어떻게 해야하는지 알려주실수있나요?

println("(" + i + "," + j + ")")로 출력할 수 있습니다. 추가로, i != j 조건은 반복문에서 j <= n 대신 j < i를 사용하는 식으로 해결하면 좋습니다.

수정: n => i

if (i != j && i % j == 0) {
for(i = 0; i <= n; i++) {
for(j = 0; j <= n; j++) {
System.out.println("(" + i + “,” + j + “)”);

이런식으로 고쳐봤는데 안되네요 반복문 쪽에서 어떻게 할지 좀 알려주세요 ㅠ

https://ideone.com/7R1LFP

다음의 사항들을 수정했습니다.

  1. 문제에서 ij1부터라고 주어졌는데, 처음 작성하신 코드에서는 0부터 돌립니다.
  2. i != jfor문 범위에 녹였습니다.
  3. 올바르게 출력합니다.

if 조건은 for문 안에 있어야 합니다.

아 감사합니다 근데 왜 j는 n보다 작을때인지 알수있을까요?

수정했읍니다.

맞는지 틀린지는 돌려보시면 알텐데,
비논리적인 문장 같습니다.
타인이 컴파일러가 아니잖아요?