1. 如何用java在页面上用循环打印一个爱心形状
import java.util.Scanner;
public class test{
static void draw(int n)
{
int i,j;
for (i=1-(n>>1);i<=n;i++)
if (i>知仿拿0)
{
for (j=0;j<i;j++) System.out.print("大瞎 ");
for (j=1;j<=2*(n-i)+1;j++)
if (j==1||j==2*(n-i)+1) System.out.print(" *");
else System.out.print(" ");
System.out.println("\n");
}
else
if (i==0)
{
System.out.print(" *");
for (j=1;j<n;j++) System.out.print(" ");
System.out.print(" *");
for (j=1;j<n;j++) System.out.print(" ");
System.out.print(" *\n");
}
else
{
for (j=i;j<0;j++) System.out.print(" ");
for (j=1;j<=n+2*i+1;j++)
if (i==1-(n>>1)) System.out.print(" *"搭搭);
else if (j==1||j==n+2*i+1) System.out.print(" *");
else System.out.print(" ");
for (j=1;j<=-1-2*i;j++) System.out.print(" ");
for (j=1;j<=n+2*i+1;j++)
if (i==1-(n>>1)) System.out.print(" *");
else if (j==1||j==n+2*i+1) System.out.print(" *");
else System.out.print(" ");
System.out.print("\n");
}
}
public static void main(String[] args) {
System.out.println("Please input the size (n>=4):");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
draw(n);
}
}先说明这个不是我写的 是看了有人用C语言写的 就顺便改成了java 结果有点像爱心 还凑合着 你看看怎么样吧 哈
2. java中怎样打印心形
package com.zeph.j2se.alg;
public class Heart {
int HighLevel(int wide) {
int i = 0, j = 0, k = 0, t = 0, m = 0, n = 0, count = 1;// i控制循环内高度,j控制每行前面空格,k控制输出的*数
// t控制高层星号中间空格,m记录高层最底行的星数,以下逐行增4
// n记录顶行空个数,以下逐行减4;count记录笑渗并高层高碰迹度,与high无关
m = (wide - 4) / 2;
do {
count++;
m -= 4;
} while (m > 4);
if ((wide - 4) % 2 == 0)// 区别对待奇偶宽度,奇数中间喊帆最小空1个,偶数最小空两个
{
n = 2 + 4 * (count - 1);
m--;
} else
n = 1 + 4 * (count - 1);
for (i = 0; i < count; i++) {
for (j = (count - i) * 2; j > 0; j--)
System.out.print(" ");
for (k = 0; k < m; k++)
System.out.print("*");
for (t = 0; t < n; t++)
System.out.print(" ");
for (k = 0; k < m; k++)
System.out.print("*");
m += 4;
n -= 4;
System.out.print("\n");
}
return 0;
}
int LowLevel(int wide) {
int i = 0, j = 0, k = 0;// i控制输出行,j控制输出每行前的空格,k控制输出*
int high = 0, tmp = wide;
do// 计算所需高度
{
high++;
tmp -= 4;
} while (tmp > 4);
high += 1;
for (i = 0; i < high; i++) {
for (j = 0; j < 2 * i; j++)
System.out.print(" ");
for (k = wide - 4 * i; k > 0; k--)
System.out.print("*");
System.out.print("\n");
}
return 0;
}
public static void main(String[] args) {
int wide = 30;
Heart heart = new Heart();
heart.HighLevel(wide);
heart.LowLevel(wide);
}
}
3. 用java或者c程序输出如下图的这种简单心形,谁能给我讲讲思路。加上程序示例更好
用方程的话肯定输出不会和你的图完全一致
心形线方程如图
4. java打印空心三角型,和等腰三角型,最好带有注释
一:设计思路:
1、空心的等腰三角形,用*作为三角形的边,用空格做格式控制。
2、第一行输出一个*号,且要放在正中央,具体位置需要根据三角形的高度来确定。
3、因为是等腰三角形,所以每一行由*号组成的有效字符串长度比上一行多2个。
4、综合2、3,该三角形的*号间的有效字符串长度,按1、3、5、7...规律变化
5、所以,第一行输出的*号位置由三角形的高决定,设高度为h,则第一行*号位置为第(2*h-1)/2+1,简化后为h(因为单数/2后的0.5在int型变量计算中被忽略)。
6、空心的实现中,从第二行输出*号后开始插入空格,个数每行加2,直到最后一行,不包含最后一行。
二:实现方法
1、定义三角形的高,改变该值,可以改变三角形的大小。
2、根据高闹碰度,将*号放在对应h位置,用空格做格式控制,空格个数每行-1。
3、如果是第二行且不是最后一行(大于1且小于h),在输出*号后,输出空格,以后每行多输出两个空格
4、最后一行全部输出*号液野谈
//java代码:设计空心等腰三角形
{
/**
*一:设计思路:
*1、空心的等腰三角形,用*作为三角形的边,用空格做格式控制。
*2、第一行输出一个*号,且要放在正中央,具体位置需要根据三角形的高度来确定。
*3、因为是等腰三角形,所以每一行由*号组成的有效字符串长度比上一行多2个。
*4、综合2、3,该三角形的*号间的有效字符串长度,按1、3、5、7...规律变化
*5、所以,第一行输出的*号位置由三角形的高决定,设高度为h,则第一行*号位置为第(2*h-1)/2+1,
*简化后为h(因为单数/2后的0.5在int型变量计算中被忽略)。
*6、空心的实现中,从第二行输出*号后开始插入空格,个数每行加2,直到最后一行,不包含最后一行脊旦。
*二:实现方法
*1、定义三角形的高,改变该值,可以改变三角形的大小。
*2、根据高度,将*号放在对应h位置,用空格做格式控制,空格个数每行-1。
*3、如果是第二行且不是最后一行(大于1且小于h),在输出*号后,输出空格,以后每行多输出两个空格
*4、最后一行全部输出*号
*三:图示,5层空心等腰三角形
**
***
***
***
**********
*
**/
//定义三角形的高度,改变此值,可改变三角形的大小,必须大于等于2
publicstaticfinalintHEIGHT=9;
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
intcount=HEIGHT-1; //定义输出空格个数,初值为第一行要输出的空格个数
System.out.println("空心等腰三角形,高度:"+HEIGHT);
for(introw=1;row<=HEIGHT;row++,count--){
//输出空格
for(inti=0;i<count;i++){
System.out.print("");
}
System.out.print("*");
//是第一行,则直接换行,最后一行输出全部*号,否则从第二行开始输出空格,每行+2
if(row==1){
System.out.println();
}elseif(row==HEIGHT){
for(inti=0;i<row*2-2;i++){
System.out.print("*");
}
System.out.println();
}elseif(row>1&&row<HEIGHT){
for(inti=0;i<row*2-3;i++){
System.out.print("");
}
System.out.println("*");
}
}
}
}
运行结果图:
理解思路和实现方法后,阅读代码会简单些,注意格式控制中的算式,都是有规律可循的。
5. for语句 输出心形(java)
for语句输出心形(java)的方法如下:
使用eclipse,创建一个Java文件命名为Test.java
(5)java打印心扩展阅读:
for 语句表达式:
表达式1:一般为赋值表达式,给控制变量赋初值;
表达式2:关系表达式或逻辑表达式,循环控制条件;
表达式3:一般为赋值表达式,给控制变量增量运银正或减旁悔量。
6. java编程中桃心,笑脸。。。怎么打印
这明脊个问题还真是帆孝高,
如果直接System.out.prinln("♥")的话会提示不是GBK编码不支持...
所以
解决方法是如果想输出的话找到
这些特殊符号的unicode编码
System.out.prinln('\态槐稿u0000')
输出
所以你建议自己找下,一个corner
case