求java 输出正方形(用*号)的代码!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求java 输出正方形(用*号)的代码!相关的知识,希望对你有一定的参考价值。

public static void main(String[] args)
Scanner s = new Scanner(System.in);
System.out.println("请输入正方形的大小:");
int line = s.nextInt();; // 正方形的边长
for (int i = 1; i <= line; i++) // 行
for (int j = 1; j <= line; j++) // 列
if (i == 1 || i == line) // 如果是第一行或者是最后一行则输出星号
System.out.print("* ");
else if (j == 1 || j == line) // 如果是第一列或者是最后一列则输出星号
System.out.print("* ");
else
System.out.print(" "); // 如果不是第一行、最后一行、第一列、最后一列则输出空格


System.out.print("\n"); // 换行

参考技术A 这是我用NetBeans做出的正确代码:
public class Squre
public static void main(String[]args)
for(int i = 1;i <= 4;i++)
for(int j = 1;j <= 4;j++)
System.out.print("*");

System.out.println();


参考技术B for(int i=0;i<=3;i++)
for(int j=0;j<=3;j++)
System.out.print("* ");

System.out.println();
参考技术C 需要用for循环实现么?
如果不需要!
System.out.println("****");
System.out.println("* *");
System.out.println("* *");
System.out.println("****");
这样就能实现!
参考技术D 完整代码:
public class a
public static void main(String[] args)
for(int i = 4;i > 0;i--)
for(int j = 4;j > 0;j--)
System.out.print("*");

System.out.println("*");


hdu6055(求正方形个数)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6055

 

题意: 给出 n 组坐标 x, y, 输出其中的正多边形个数 . 其中 x, y 均为整数.

 

思路: x, y 为整数, 所以只存在正方形, 不会有其他正多边形 . 那么只需要枚举正方形的对角线即可 .

 

代码:

技术分享
 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string.h>
 4 #include <algorithm>
 5 #define ll long long
 6 using namespace std;
 7 
 8 const int MAXN = 1e3 + 10;
 9 const int H = 1e4 + 7;
10 
11 struct node{
12     int x, y, next;
13 }gel[MAXN];
14 
15 ll ans;
16 int head[H];
17 int indx, n;
18 int ptx[MAXN], pty[MAXN];
19 
20 void init(void){
21     memset(head, -1, sizeof(head));
22     indx = 0;
23     ans = 0;
24 }
25 
26 void add(int x, int y){
27     int h = (x * x + y * y) % H;
28     gel[indx].x = x;
29     gel[indx].y = y;
30     gel[indx].next = head[h];
31     head[h] = indx++;
32 }
33 
34 bool find(int x, int y){
35     int h = (x * x + y * y) % H;
36     for(int i = head[h]; i != -1; i = gel[i].next){
37         if(x == gel[i].x && y == gel[i].y) return true;
38     }
39     return false;
40 }
41 
42 int main(void){
43     while(~scanf("%d", &n)){
44         init();
45         for(int i = 0; i < n ; i++){
46             scanf("%d%d", &ptx[i], &pty[i]);
47             add(ptx[i], pty[i]);
48         }
49         for(int i = 0; i < n; i++){
50             for(int j = 0; j < n; j++){
51                 if(i == j) continue;
52                 int x1 = ptx[i] - (pty[i] - pty[j]);
53                 int y1 = pty[i] + (ptx[i] - ptx[j]);
54                 int x2 = ptx[j] - (pty[i] - pty[j]);
55                 int y2 = pty[j] + (ptx[i] - ptx[j]);
56                 if(find(x1, y1) && find(x2, y2)) ans++;
57             }
58         }
59         printf("%lld\n", ans >> 2);
60     }
61     return 0;
62 }
View Code

 

以上是关于求java 输出正方形(用*号)的代码!的主要内容,如果未能解决你的问题,请参考以下文章

java怎么绘制一个正方形?

hdu6055(求正方形个数)

java用for循环输出长方形

用java打印菱形。

使用 # 号输出长方形

P5725 深基4.习8求三角形