debug一下就知道问题在哪里了:
当x=11, y=2时, 11%2 != 0, 会输出一次;
当x=11, y=3时, 3 <= √11(根号11), 一次进入内层循环, 还会输出一次11;
以此类推;
解决方法:
System.out.print(x + " "); break;
在输出之后加个break跳出循环即可。
这种问题不难, 多调试就会了。