多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
针对每行输入,输出用“*”组成的X形图案。
5
* * * * * * * * *
6
* * * * ** ** * * * *
import java.util.Scanner;
public class printX {
public static void main(String[] args) {
// 创建一个 Scanner 对象,用于读取用户输入
Scanner in = new Scanner(System.in);
// 使用 hasNextInt() 来判断是否有整数输入,多组输入
while (in.hasNextInt()) {
// 读取输入的行数 row
int row = in.nextInt();
// 外层循环控制行数 i,从 0 到 row-1
for (int i = 0; i < row; i++) {
// 内层循环控制列数 j,从 0 到 row-1
for (int j = 0; j < row; j++) {
// 如果当前行和列相等,则打印反斜线部分 "*"
if (i == j || i + j == row - 1) {
System.out.print("*");
} else {
// 否则打印空格
System.out.print(" ");
}
}
// 每打印完一行需要换行
System.out.println();
}
}
}
} import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
int a = in.nextInt(); //a表示一共有多少行
for(int i=0;i<a;i++){
for(int j=0;j<a;j++){
if(i==j||(i+j)==a-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
} import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
int n = in.nextInt();
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
if(i == j || i + j == n - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
//换行
System.out.println();
}
}
}
}
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int n = in.nextInt();
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j||j==n+1-i){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
} import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){
int x=sc.nextInt();
int[][] arr=new int[x][x];
for(int i=0;i<x;i++){
arr[i][i]=1;
arr[i][x-i-1]=1;
}
for(int i=0;i<x;i++){
for(int j=0;j<x;j++){
if(arr[i][j]==1) System.out.print("*");
else System.out.print(" ");
}
System.out.println();
}
}
}
} //对称图形可以用坐标的思想来解决,假设图形被放在坐标方格中,
//*和_都有专属坐标,经过观察可以总结出*坐标的规律
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int n = sc.nextInt();
//外循环(相当于坐标x):图形总共n行,我们就循环n次
for (int i = 0; i < n; i++) {
//内循环(相当于坐标y)结合上一行来看就是第i行第j个
for (int j = 0; j < n; j++) {
//观察过坐标图不难发现*都处于【横纵坐标相等】或者【和等于n-1】时
if (i == j || (i + j) == n - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
//外循环完成一次,代表一行写完,此处换行进行下一次循环
System.out.println();
}
}
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
int n = scanner.nextInt();
for(int i = 0 ; i < n ;i++){
for(int j = 0;j < n ;j++){
//对角线以及逆对角线
if(i == j || i + j == (n - 1)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println("");
}
}
}
} import java.util.Scanner;
/**
* @Title: X形图案
* @Remark: KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。
* 输入描述:
* 多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
* 输出描述:
* 针对每行输入,输出用“*”组成的X形图案。
* @Author: ijunfu
* @Version: 1.0.0
* @Date: 2022-03-20
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNextLine()) {
int count = Integer.parseInt(in.nextLine());
for(int i=0; i<count; ++i) {
for(int j=0; j<count; ++j) {
if(i == j || j == count-i-1) { // 对角线 & 逆对角线
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
}
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){ //注意这题是要多组输入的
int n=sc.nextInt(); //进到循环后输入一个数
for(int i=0;i<n;i++){ //开始循环
for(int j=0;j<n;j++){
if(i==j||(i+j==n-1)) { //画图理解 发现i和j相等 或者 i+j==n-1的时候
System.out.print("*"); //就可以打印* 号 否则就直接打印空格,注意最后需要换行
}
else System.out.print(" ");
}
System.out.println();
}
}
}
}
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
System.out.print("*");
}else if (i + j == n-1) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
} public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
for(int i=0;i<n;i++){
for(int j=1;j<=n;j++){
if(i==(j-1) || (i+j)==n){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println(" ");
}
}
}
} import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
String[][] arr = new String[n][n];
for(int i = 0; i < arr.length;i++){
for(int j = 0; j < arr[i].length; j++){
if(i == j){
arr[i][j] = "*";
}else if(i == n-1 - j){
arr[i][j] = "*";
}else{
arr[i][j] = " ";
}
}
}
for(int i = 0; i < arr.length;i++){
for(int j = 0; j < arr[i].length;j++){
System.out.print(arr[i][j]);
}
System.out.println();
}
}
}
} import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner scan=new Scanner(System.in);
while(scan.hasNext()){
int n=scan.nextInt();
String res[][]=new String[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
res[i][j]=" ";
}
}
for(int i=0;i<n;i++){
res[i][i]="*";
res[i][n-1-i]="*";
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.print(res[i][j]);
}
System.out.println();
}
}
}
} 这道题需要点耐心
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
boolean flag = true;
String str = String.join("",Collections.nCopies(n," "));
for (int i = 0; i < n; i++) {
char[] temp = str.toCharArray();
temp[i] = '*';
temp[n-i-1] = '*';
System.out.println(new String(temp));
}
}
}
}