public class LoopTest7 {
// 打印3*2的矩形
public static void main(String[] args) {
for (int i = 0; i < 3; i++) { // i是循环因子.
for (int j = 0; j < 2; j++) {
System.out.print("j:" + j + " "); // 内循环体执行6次 = 3 * 2 = 外循环次数*内循环次数
}
System.out.println(); // 这个语句执行3次, 它直接隶属于外循环
}
}
}
class Exer14 {
// 打印20*8的矩形
public static void main(String[] args) {
for (int i = 0; i < 20; i++) {
for (int j = 0; j < 8; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
class Exer15 {
// 打印n*m的矩形
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);//从命令行参数获取字符串并转换成int型数据
int m = Integer.parseInt(args[1]);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
public class ForTest {
//打印n*m的空心矩形
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
int m = Integer.parseInt(args[1]);
for (int i = 0;i < n;i++){
if (i == 0 || i == (n-1)) {//打印第一行和最后一行
for (int j = 0;j < m;j++){
System.out.print("*");
}
} else {
for (int j = 0;j < m;j++) {//打印中间部分
if (j == 0 || j == (m-1)){
System.out.print("*");
}else {
System.out.print(" ");
}
}
}
System.out.println();
}
}
}
public class LoopTest2 {
//打印一个三角形
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
class LoopTest3 {
//打印一个倒三角形
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 9 - i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
class LoopTest4 {
//将上面两个三角形叠在起来
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 2 * i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 9 - i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
/*
打印输出一个底边长度为9的等腰三角形
4 * 1 0
3 *** 3 1
2 ***** 5 2
1 ******* 7` 3
0 ********* 9 4
*/
class Exer1 {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - 1 - i; j++) { // 空格
System.out.print(" ");
}
for (int j = 0; j < i * 2 + 1; j++) { // *
System.out.print("*");
}
System.out.println();
}
}
}
class LoopTest5 {
//判断一个数是否是质数 方法1
public static void main(String[] args) {
int n = 8; // 判断一个数是否是质数
// 质数 : 只能被1和自身整数的数
boolean flag = true; // 假定这个数是质数
// 只需要在2~n-1中随便找到一个数,能被这个数整除
for (int i = 2; i < n; i++) { // 2~8
if (n % i == 0) {
flag = false;
}
}
if (flag) {
System.out.println(n + "是质数");
}
}
}
class LoopTest6 {
// 打印输出100以内的所有质数 方法1
public static void main(String[] args) {
for (int j = 2; j < 100; j++) {
boolean flag = true; // 假定j是质数
// 只需要在2~j-1中随便找到一个数,能被j整除
for (int i = 2; i < j; i++) { // 循环遍历一些数, 遍历多少数取决于j
if (j % i == 0) { // 找到一个反例,j能被某个数整除,所以j肯定不是质数
flag = false; // 推翻之前的结论
}
}
if (flag) { // 最后布尔中保存的就是最后结果, 如果为真,表明没有找到反倒, 如果为假,表明找到反例
System.out.println(j + "是质数");
}
}
}
}
class Exer2 {
public static void main(String[] args) {
// 打印100-200之间的所有质数, 并统计个数.
int count = 0;
for (int i = 100; i < 200; i++) {
// 只需要判断i是否是质数
boolean flag = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = false;
}
}
if (flag) {
System.out.println(i + "是质数");
count++;
}
}
System.out.println("共有" + count + "个质数");
}
}
class LoopTest8 {
// 判断一个数是否是质数 方法2
public static void main(String[] args) {
int n = 6;
// 质数 : 只能被1和自身整数的数
boolean flag = true; // 假定这个数是质数
// 只需要在2~n-1中随便找到一个数,能被这个数整除
for (int i = 2; i < n; i++) { // 2~8
if (n % i == 0) {
flag = false;
break;
}
}
if (flag) {
System.out.println(n + "是质数");
}
}
}
class LoopTest9 {
// 打印输出100以内的5个质数 方法2
public static void main(String[] args) {
int count = 0;
for (int j = 2; j < 100; j++) {
boolean flag = true; // 假定j是质数
// 只需要在2~j-1中随便找到一个数,能被j整除
for (int i = 2; i < j; i++) { // 循环遍历一些数, 遍历多少数取决于j
if (j % i == 0) { // 找到一个反例,j能被某个数整除,所以j肯定不是质数
flag = false; // 推翻之前的结论
break; // break默认中断的是离它最近的循环
}
}
if (flag) { // 最后布尔中保存的就是最后结果, 如果为真,表明没有找到反倒, 如果为假,表明找到反例
System.out.println(j + "是质数");
count++;
if (count == 5) {
break;
}
}
}
}
}
class LoopTest10 {
// 打印输出1000-2000以内的1个质数
public static void main(String[] args) {
for (int j = 1000; j < 2000; j++) {
boolean flag = true; // 假定j是质数
// 只需要在2~j-1中随便找到一个数,能被j整除
for (int i = 2; i < j; i++) { // 循环遍历一些数, 遍历多少数取决于j
if (j % i == 0) { // 找到一个反例,j能被某个数整除,所以j肯定不是质数
flag = false; // 推翻之前的结论
break; // break默认中断的是离它最近的循环
}
}
if (flag) { // 最后布尔中保存的就是最后结果, 如果为真,表明没有找到反倒, 如果为假,表明找到反例
System.out.println(j + "是质数");
break;
}
}
}
}
class LoopTest13 {
//打印100以内的质数 方法3
public static void main(String[] args) {
l1 : for (int j = 2; j < 100; j++) {
l2 : for (int i = 2; i < j; i++) {
if (j % i == 0) {
continue l1; // 一旦找到反例, 认为j肯定不质数,没有必须继续本次循环, 直接判断下一个值
}
}
System.out.println(j + "是质数");
}
}
}
java学习之路 之 基本语法-程序流程控制-循环结构-嵌套循环练习题
最新推荐文章于 2022-06-15 20:59:54 发布