JAVA习题总结

                         一.打印正反空心三角形

package com.yu.test;


public class print_square {
//命名不是很规范哈
public static void main(String []args)
{
// print_right_zj();
// print_daosj();
// print_dysj();
// print_dydsj();
print_kxdysj();
}
//打印正直角三角形
public static void print_right_zj()
{
//控制打印行数
for(int i=1;i<5;i++)
{
//控制打印个数
for (int j = 1; j <=i; j++) {
System.out.print("*");
}
System.out.println("");
}
}
//打印倒直角三角形
public static void print_daosj()
{
for(int i=5;i>0;i--)
{
for (int j = i; j >0; j--) {
System.out.print("*");
}
System.out.println("");
}
}
//打印等腰三角形
public static void print_dysj()
{
//控制打印行数
for (int i = 0; i <5; i++) {
//控制打印的空格数
for (int j = 5; j >i ; j--) {
System.out.print(" ");
}
for (int k = 0; k <= i*2-1; k++) {
System.out.print("*");

}
System.out.println("");
}
}
//打印等腰倒三角
public static void print_dydsj()
{
for (int i = 5; i >0; i--) {
for (int j = 5; j >i; j--) {
System.out.print(" ");
}
for (int j = 0; j <=i*2-1 ; j++) {
System.out.print("*");
}
System.out.println("");
}
}
//打印空心三角形
public static void print_kxdysj()
{
//控制打印行数
for (int i = 1; i <=5; i++) {
//控制打印的空格数
for (int j =5; j >i; j--) {
System.out.print(" ");
}
for (int k = 1; k <= 2*i-1; k++) {

if( k ==1 || k== 2*i-1||i==5 ){ 
System.out.print("*"); 
}else{
System.out.print(" "); 
}

}
System.out.println("");
}
}
}

                                               二.打印出3位数中是水仙花的数

package com.yu.test;


public class count {
/**
* 算出三位数中的水仙花指数
* @param args
*/
public static void main(String [] args)
{

int a,b,c;
for(int i=1;i<999;i++)
{
a=i/100%10;
b=i/10%10;
   c=i%10;
if(Math.pow(c, 3)+Math.pow(b, 3)+Math.pow(a, 3)==i)
   //if(c*c*c+b*b*b+a*a*a==i)
{
System.out.print("\t"+i);
}

}
}
}

三.计算两个数的最大公约数和最小公倍数

package com.yu.test;


import java.util.Scanner;


public class gbs {
/**
* 计算两个数的最大公约数和最小公倍数
* @param args
*/
public static void main(String[] args) {
int x,y,i;
Scanner sc=new Scanner(System.in);
System.out.println("请输入两个数");
x=sc.nextInt();
y=sc.nextInt();
//判断是否大于0(正整数)
if(x>0&&y>0)
{
//交换两个数的位置,让最大的数放前面
if(x<y)
{
int a=y;
y=x;
x=a;
}
//死循环遍历,从最小开始--
for(i=y; ;i++)
{
if(x%i==0&&y%i==0)
{
System.out.println("最大公约数:"+i);
}
break;
}
//最小公倍数=两个数的乘积/最大公约数
System.out.println("最小公倍数:"+(x*y/i));
}
}
}

四.输入三个数判断是否构成三角形

package com.yu.test;


import java.util.Scanner;


public class sj {
/**
* 判断输入的3个正整数
* 是否构成三角形
* @param args
*/
public static void main(String [] args)
{
int a,b,c;
Scanner sc=new Scanner(System.in);
System.out.println("请输入三边:");
a=sc.nextInt();
b=sc.nextInt();
c=sc.nextInt();
//判断条件任意两边之和大于第三边
if(a+b>c&&b+c>a&&a+c>b)
{
if(a==b&&a==c){
System.out.println("等边三角形");
}
else if(a==b||a==c){
System.out.println("等腰三角形");

}
}else{
System.out.println("这不是三角形");
}
}
}

五. 打印1,2,3,4组成任意三位不重复的数

package com.yu.test;


public class num {

/**
* 1,2,3,4组成任意三位不重复的数
* @param args
*/
public static void main(String [] args)
{
/*
* 思路一:将其100到999的数据每位的个十百位单独取出来
* 并判断每位数是否小于5
* 然后再判断是否满足1+2+3或者1+2+4
*/
int a,b,c;
for(int i=100;i<1000;i++)
{
a=i/100%10;
b=i/10%10;
c=i%10;
if(a<5&&b<5&&c<5)
{
if((a+b+c)==6||(a+b+c)==7)
{
System.out.print("\t"+i);
}
}
}
/*
* 思路二:
* 用三重循环分别代表个十百位
* 并且让它每一位不相等
*/
// int count=0;
//百位
// for(int i=1;i<5;i++)
// {
//十位
// for(int j=1;j<5;j++)
// {
//个位
// for(int k=1;k<5;k++)
// {
  //判断每位不相等就显示出来
// if(i!=j&&i!=k&&j!=k)
// {
// System.out.print(""+i+j+k+"\t");
// count++;
// }
// }
// }
// }
// System.out.println("\ncount="+count);
}
}
六.输入年月日打印出是当年第几天
package com.yu.test;


import java.util.Scanner;


public class years {
/**
* 根据自己所输入的年月日
* 判断是这年的第几天
* @param args
*/
public static void main(String [] args)
{
int year,moth,date;
Scanner sc =new Scanner(System.in);
System.out.println("请输入年:");
year=sc.nextInt();
System.out.println("请输入月:");
moth=sc.nextInt();
System.out.println("请输入日:");
date=sc.nextInt();
int count_day=0;
//判断当前年份是否为瑞年
if(year%4==0&&year%100!=0||year%400==0)
{
if(moth>2)
{
count_day++;
}
}
/*
* 当前的那个月不能加上30或者31天,
* 例:3.6号,只能加上前两个月的天数,再加上几天,故此月份要减一
*/
switch (moth-1) {
case 11:
count_day+=30;
case 10:
count_day+=31;
case 9:
count_day+=30;
case 8:
count_day+=31;
case 7:
count_day+=31;
case 6:
count_day+=30;
case 5:
count_day+=31;
case 4:
count_day+=30;
case 3:
count_day+=31;
case 2:
count_day+=28;
case 1:
count_day+=31;
}
System.out.println("这是"+year+"年的第:"+(count_day+date)+"天");
}
} package com.yu.test;


public class zhishu {

public static void main(String[] args) {
int count=0;
//遍历2到100的所有的数
for(int i=2;i<100;i++)
{
boolean zhishu=true;
//只要能被2到它本身的开方数整出就不是质数,用J<i也行,不过效率不高
for (int j = 2; j <=Math.sqrt(i); j++) {
if(i%j==0)
{
//能被其中的数整出,说明不是质数
zhishu=false;
//结束循环
break;
}
}
//反之则是
if(zhishu)
{
count++;
System.out.print(" "+i);
}
}
System.out.println("\n质数的总个数为:"+count);

}
}

七.遍历2到100的所有的数


package com.yu.test;


public class zhishu {

public static void main(String[] args) {
int count=0;
//遍历2到100的所有的数
for(int i=2;i<100;i++)
{
boolean zhishu=true;
//只要能被2到它本身的开方数整出就不是质数,用J<i也行,不过效率不高
for (int j = 2; j <=Math.sqrt(i); j++) {
if(i%j==0)
{
//能被其中的数整出,说明不是质数
zhishu=false;
//结束循环
break;
}
}
//反之则是
if(zhishu)
{
count++;
System.out.print(" "+i);
}
}
System.out.println("\n质数的总个数为:"+count);

}
}

八.打印a+aa+aaa+aaaa

package com.yu.test;


import java.util.Scanner;


public class dieshu {

public static void main(String[]args)
{
// System.out.print("请输入一个数:");
// Scanner sc=new Scanner(System.in);
// int num=sc.nextInt();
// int a=0,s=0;
// for(int i=0;i<num;i++)
// {
// a=a*10;
// s+=num*11*i*a;
//拆分33 3*10+3
// s=(int)(num*Math.pow(10,i)+s);
// a+=s;
// }
// System.out.println(a);
System.out.println("请输入数a");
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
System.out.println("请输入数n");
int n=sc.nextInt();
int sum=0;
int c=a;
for(int i=0;i<n;i++)
{
sum+=a;
c=c*10;
a+=c;
}
System.out.println("计算结果为:"+sum);
}


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值