版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40301026/article/details/82821271
学完C后,便想上手Java,这两天写了一些小代码
1.打印出九九乘法表
package 九九乘法表;
public class demo {
public static void main(String[] args)
{
for(int i= 1; i<= 9;i++)
{
for(int j =0; j<=i;j++)
{
System.out.println(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
2.用 while 和 for 循环分别计算 100 以内奇数和偶数的和,并输出。
package demo;
//用 while 和 for 循环分别计算 100 以内奇数和偶数的和,并输出。
public class demo {
public static void main(String[] args)
{
int sum1 = 0;
int sum2 = 0;
//测试for循环
for(int i = 1; i<100 ;i++)
{
if(i % 2 ==0)
{
sum1+=i;
}
}
//测试while循环
int j = 1;
while( j<100)
{
if(j % 2 != 0)
{
sum2+=j;
}
j++;
}
System.out.println("for循环输出:\n"+"100内偶数和:"+sum1);
System.out.println("while循环输出:\n"+"100以内奇数和"+sum2);
}
}
3.用 while 和 for 循环输出 1-1000 之间能被 5 整除的数,且每行输出 3 个
//用 while 和 for 循环输出 1-1000 之间能被 5 整除的数,且每行输出 3 个
package demo;
public class demo {
public static void main(String[] args)
{
//while循环
int i = 1;
int count = 0;
int num = 0;
System.out.println("while循环:");
while(i<1000)
{
if(i%5==0)
{
System.out.println(i);
count++;
}
if(count%3==0)
{
System.out.print("\n");
}
i++;
}
//for循环
System.out.println("for循环:");
for(int j = 1;j < 1000;j++)
{
if(j%5==0)
{
System.out.println(j);
num++;
}
if(num%3==0)
{
System.out.print("\n");
}
}
}
}
4.编程求:∑1+∑2+……+∑100
package demo;
public class demo {
public static void main(String[] args)
{
int count = 0;
for(int i = 0;i<=100;i++)
{
count+=i;
}
System.out.println("一加一百的和为:"+count);
}
}
5.生成 0-100 随机数,直到生成 88 为止,停止循环!
package demo;
import java.util.Random;
public class demo {
public static void main(String[] args)
{
int a =-1;
Random ss = new Random();
while(a!=88)
{
a = ss.nextInt(101);
System.out.println("随机数为:"+a);
}
}
}
6.打印出实心 10*10 正方形、空心 10*10 正方形
package demo;
//打印出实心 10*10 正方形、空心 10*10 正方形
public class demo {
public static void main(String[] args)
{
int num = 10;
//实心正方形
for(int i = 0;i<num;i++)
{
for(int j= 0;j<num;j++)
{
System.out.print("*");
if(j==9)
{
System.out.println();
}
}
}
System.out.println("\n|||||||||||||||||||||||||||||||||||||||||||||||\n");
//空心的正方形
for(int i=0;i<num;i++)
{
System.out.print("*");
}
System.out.print("\n");
for(int i= 0;i<num-2;i++)
{
for(int j =0; j<num-2; j++)
{
if(j==0)
{
System.out.print("*");
}
System.out.print(" ");
if(j==num-3)
{
System.out.println("*");
}
}
}
for(int i=0;i<num;i++)
{
System.out.print("*");
}
}
}
7.将上面打印实心和空心正方形练习中相关代码,封装成方法,便于重用
package demo;
import java.util.Scanner;
public class demo {
private int num;
demo()
{
System.out.println("请输入正方形的边长:");
Scanner ss = new Scanner(System.in);
num = ss.nextInt();
}
public void shi_zheng()
{
for(int i = 0;i<num;i++)
{
for(int j= 0;j<num;j++)
{
System.out.print("*");
if(j==num-1)
{
System.out.println();
}
}
}
}
public void xu_zheng()
{
for(int i=0;i<num;i++)
{
System.out.print("*");
}
System.out.print("\n");
for(int i= 0;i<num-2;i++)
{
for(int j =0; j<num-2; j++)
{
if(j==0)
{
System.out.print("*");
}
System.out.print(" ");
if(j==num-3)
{
System.out.println("*");
}
}
}
for(int i=0;i<num;i++)
{
System.out.print("*");
}
}
}
package demo;
public class testdemo {
public static void main(String[] args)
{
demo p = new demo();
System.out.println("实心正方形:");
p.shi_zheng();
System.out.println("空心正方形:");
p.xu_zheng();
}
}
8.使用递归算法完成阶乘:1!+2!+3!+4!+5!
package demo;
import java.util.Scanner;
//思路:先用递归求出一个数的阶乘,接着for循环累加求和。
public class demo {
//a!
static long a(int m)
{
if(m==1)
{
return 1;
}
else
{
return m*a(m-1);
}
}
public static void main(String[] args)
{
int m = 0;
long sum =0;
System.out.println("请输入阶乘计算的最后一个整数:");
Scanner ss = new Scanner(System.in);
m = ss.nextInt();
ss.close();
//a!+(a-1)!+......+1!
for(int i = m;i>0;i--)
{
sum = sum + a(i) ;
}
System.out.println(sum);
}
}