第一题,打印九九乘法表
public class one{
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
if(j>1)System.out.print(",");
System.out.print(i+"x"+j+"="+i*j);
}
System.out.print("\n");
}
}
}
第二题,打印等腰三角形
public class two{
public static void main(String[] args)
{
for(int i=1,j=3;i<=7;i+=2,j--){
for(int a=j;a>0;a--){System.out.print(" ");}
for(int b=i;b>0;b--){System.out.print("*");}
System.out.println("\n");
}
}
}
第三题,打印近似圆
import java.lang.Math;
public class three{
public static void main(String[] args){
int r=6,x=0,y=0;//x为第一个*前空格,y为中间空格
for(int i=r;i>=0;i-=2){//打印上部分圆
y=(int)Math.round(Math.sqrt(r*r-i*i)*2);
x=r-y/2;
System.out.println(putSpace(x)+"*"+putSpace(y)+"*");
}
for(int j=0;j<=r;j+=2){//打印下部分圆
y=(int)Math.round(Math.sqrt(r*r-j*j)*2);
x=r-y/2;
System.out.println(putSpace(x)+"*"+putSpace(y)+"*");
}}
//返回要打印的空格
public static String putSpace(int t){
var s=" ";
for(int i=0;i<t;i++)s+=" ";
return s;
}}
第四题,按字节截取字符串
不建议按ASCLL挨个判断字符后将字符转移到新字符串,因为中文可能出现要取半个的情况,所以还是需要用到byte数组
public class four{
public static void main(String[] args){
var s="test按字节截取";
int number=6;
var strByte=s.getBytes();
var sByte=new byte[number];
System.arraycopy(strByte,0,sByte,0,number);
String cut=new String(sByte);
System.out.println(cut);
}
}
第五题,将浮点数转化为人民币读法
import java.lang.Math;
import java.util.Arrays;
public class five{
private String[] hanArr = {"零", "壹", "贰", "叁", "肆","伍", "陆", "柒", "捌", "玖"};
private String[] unitArr = {"个","十", "百", "千","万"};
public static void main(String[] args){
var number=1006.333f;
var zheng=(long)number;
var xiao=Math.round((number-zheng)*100);
var br=new five();
br.dealZheng(zheng);
br.dealxiao(xiao);
}
/**
*处理整数部分,并按规定格式输出
*/
private void dealZheng(long a){
var str=a+"";
int record=0;
int length=str.length();
for(int i=0;i<length;i++){
int num=str.charAt(i) - 48;
if(i!=length-1&&num!=0)
{
if(record==1)System.out.print("零");
System.out.print(hanArr[num]+unitArr[length-1-i]);
record=0;
}
else if(num==0)record=1;
else if(i==length-1)System.out.print(hanArr[num]);
}
System.out.print("元");
}
/**
*处理小数部分,并按规定格式输出
*/
private void dealxiao(int a){
int jiao=a/10,fen=a%10;
if(jiao!=0)System.out.print(hanArr[jiao]+"角");
if(fen!=0)System.out.print(hanArr[fen]+"分");
System.out.print("\n");
}
}
第六题,控制台的五子棋小游戏
https://blog.youkuaiyun.com/whlikect/article/details/104955709
本文通过六道编程题目,深入浅出地讲解了Java编程中常用的算法实现,包括九九乘法表、等腰三角形、近似圆形打印、字符串截取、人民币读法转换及控制台五子棋游戏,适合Java初学者和爱好者练习提升。
1842

被折叠的 条评论
为什么被折叠?



