1.组数字

输入相邻的4个正整数,计算这4个正整数,能组成多少个互不相同且无重复数字的三位数,并将结果输出。

import java.util.Scanner;
public class Program {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("输入四个连续的整数");Scanner scanner = new Scanner(System.in);int num1 = scanner.nextInt(); int num2 = scanner.nextInt(); int num3 = scanner.nextInt(); int num4 = scanner.nextInt(); if (num1+1 != num2){System.out.println("必须输入四个连续的整数");}else if (num2 +1 != num3){System.out.println("必须输入四个连续的整数");}else if (num3 +1 != num4){System.out.println("必须输入四个连续的整数");}else {int count=0;for(int i=num1;i<=num4;i++){for(int j=num1;j<=num4;j++){for(int k=num1;k<=num4;k++){if(i!=j && j!=k && k!=i){count++;}}}}System.out.println(count);}   }
public class TestShu1 {private static int[] a={4, 2, 3, 9};//定义任意四个数字数组 private static int num=0;//一个组成三位数个数 private static int hunNum=0;//组成的三位数 //bai-百位, shi-十位, ge-个位public static int getHuNum(int bai, int shi, int ge){ return 100*bai+10*shi+1*ge;}public static void main(String[] args){for(int i=0; i<4; i++){ for(int j=0; j<4; j++){ for(int m=0; m<4; m++){ if(a[i]!=a[j]&&a[j]!=a[m]&&a[m]!=a[i]){ hunNum=getHuNum(a[i], a[j],a[m]); num++;System.out.println(hunNum); }} } } System.out.println("一共组成三位数: "+num+"个");}

2.打印正整数的逆序

输入一个不多于五位的正整数 num,并输出其位数,每一位的数字,以及逆序排列的每位数字。

import java.util.Scanner;
public class Program {public static void main(String[] args) {int sum = 0;Scanner input = new Scanner(System.in);System.out.println("请输入不多于五位数的正整数:");int n = input.nextInt();String s = "" + n;System.out.println("它是"+s.length()+"位数");System.out.println(s);char a[] = s.toCharArray();char a2[] = new char[a.length];for(int i = 0;i<a.length;i++){ char b = a[a.length-i-1];a2[i] = b;System.out.print(a2[i]);}}
}

3.杨辉三角

杨辉三角,又称贾宪三角形、帕斯卡三角形,是二项式系数在三角形中的一种几何排列。其中前10行样式如下:

1
1   1
1   2   1
1   3   3   1
1   4   6   4   1
1   5  10  10   5   1
1   6  15  20  15   6   1
1   7  21  35  35  21   7   1
1   8  28  56  70  56  28   8   1
1   9  36  84 126 126  84  36   9   1

编写程序,通过二维数组的方式输出杨辉三角的前9行。

public class Program {public static void main(String[] args) {//定义了一个长度为10,高度为10的二维数组,数组中的值都为0;int[][] arr=new int[10][10];for(int i=0;i<arr.length; i++) {//由于只是给杨辉三角内的位置赋值,所以是j<=ifor(int j=0;j<=i;j++) {//根据规律,使用if else 赋值if(j==0||j==i) {arr[i][j]=1;}else {arr[i][j]=arr[i-1][j-1]+arr[i-1][j];}/*由于只是输出杨辉三角范围内的值,所以在内层循环就输出,这种方法不能全部赋值完之后再输出"\t"的原因是10和小于10的数组的宽度不同,所以使用\t制表符能使数与数之间距离相等*/System.out.print(arr[i][j]+"\t");}System.out.println();}}
}

4.定义一个点类

编程题

假设要在程序中描述一点,可以定义一个点类(Point)。

题目要求

定义点类(Point),内容如下:

属性:点的横坐标 x 和纵坐标 y,其中 xy都是整数,均为public。

方法:distance()表示该点到坐标原点的距离,返回类型double。

注:点到坐标原点的距离计算公式为:Math.sqrt(x*x+y*y)

本题考查面向对象相关知识,调试需要自己定义Main方法进行调试,方可运行,判题不做要求

class PointT{public double x,y;public PointT(){}public PointT(int x,int y){this.x = x;this.y = y;}public double distance(){double d = Math.sqrt(x*x+y*y);return d;}
}public class Point{public static void main(String[] args){PointT a =new PointT(3,4);System.out.println(a.distance());}
}

public class TriangleT{
public double s1,s2,s3;

public Triangle(double s1,double s2,double s3){this.s1 = s1;this.s2 = s2;this.s3 = s3;
}public double getPerimeter(){return s1+s2+s3;
}public String getType(){if(s1==s2&&s1==s3&&s2==s3)return equilateral;else if((s1==s2)||(s1==s3)||(s2==s3)){return isosceles;}elsereturn scalene;
}

}

public class Triangle{
public static void main(String[] args){
public double s1,s2,s3;
public double v1,v2,v3;
s1 = Point.sideS1(v1,v2);
s2 = sideS2(v1,v3);
s3 = sideS3(v2,v3);
TriangleT b =new TriangleT();
System.out.println();
}

5.求素数和

「质数」又称素数,有无限个。素数定义为在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的数称为素数。

例如17就是素数,因为它不能被2 - 16的任一整数整除。

请编写一个程序,输入一个正整数,计算该正整数以内的素数之和

import java.util.Scanner;
public class Program{public static void main (String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();int sum = 0;int k;for(int i=2;i<=num;i++){k=0;for(int j=2;j<=Math.sqrt(i);j++){if(i%j==0){k++;}}if(k==0){sum +=i;}}System.out.println(sum);}
}

6.打印三角形

输入一个正整数N,通过循环语句,打印一个2*N-1行的三角形

示例

输入

4

输出

*
***
*****
*******
*****
***
*

注意: 左侧始终没有空格

import java.util.*;
public class Program {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N = sc.nextInt();// 先输出前n行for(int i=0;i<=N-1;i++){for(int j=0;j<2*i+1;j++){System.out.print("*");}System.out.println();}// 输出余下的n-1行for(int i=N-1;i>=1;i--){for(int j=0;j<2*i-1;j++){System.out.print("*");}System.out.println();}}
}

6.百钱百鸡

编程题

中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?

请用程序完成百钱百鸡问题的计算,并将计算结果输出。

输出示例:

公鸡=1 母鸡=1 小鸡=1
public class Program {public static void main(String[] args) {for(int cock=0;cock<=20;cock++){for(int hen=0;hen<=33;hen++){if(cock*5+hen*3+(100-cock-hen)/3==100&&(100-cock-hen)%3==0)System.out.println("公鸡="+cock+"母鸡="+hen+"小鸡="+(100-cock-hen));}}}
}

7.完数

编程题

如果一个数的真因子之和等于其本身, 这个数就称之为"完数". 例如:6的真因子为1, 2, 3, 而且1 + 2 + 3 = 6, 因此6是"完数".

请用程序实现: 输入一个整数num,找出2(含) ~ num(含)中的所有完数,并输出。

import java.util.Scanner;public class Program {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();int sum;for(int i=2;i<=num;i++){sum=0;for(int j=1;j<i;j++){if(i%j==0){sum+=j;}}if(sum==i){System.out.println(i);}}}
}

8.数组重复值清零

定义一个长度为7的数组;

输入7位含有重复数字的整数作为数组的值;

请将重复元素(包括0)删除,并输出更新后数组中的元素。

例如: 数组{1, 2, 2, 3, 4, 5},更新后为 {1, 2, 3, 4, 5}

import java.util.*;
public class Program {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int []num = new int[7];for(int i=0;i<7;i++){num[i] = sc.nextInt();}for(int i=0;i<7;i++){for(int j=0;j<7;j++){if(num[i]==num[j]&&i!=j){//切记不要让元素比较自身 不然均为0num[j]=0;}}}for(int i=0;i<7;i++){if(num[i]!=0){System.out.println(num[i]);}}}
}

9.冒泡排序

定义一个长度为9的数组;

输入9个数字,进行冒泡排序, 使其按照从小到大的顺序排列, 并将排列后的结果输出。

import java.util.*;
public class Program {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int []num = new int [9];for(int i=0;i<9;i++){num[i] = sc.nextInt();}for(int i=0;i<num.length;i++){for(int j=0;j<num.length-1-i;j++){if(num[j+1]<num[j]){int t = num[j+1];num[j+1] = num[j];num[j] = t;}}}for(int a:num){System.out.print(a+" ");}}
}

10.定义圆类

定义圆类Circle,内容如下(需要完成):

属性:

圆心(center) ,Point类型,修饰符public。

半径(radius),double类型,修饰符public。

方法:

getArea(),获取圆的面积,修饰符public,返回值类型double。

point_in_circle(Circle circle,Point point),参数为一个圆类对象和一个点类对象,然后判断该点是否在圆内,在圆内则返回 True ,不在圆内则返回 False,修饰符public,返回值类型Boolean。

Math.abs(x) 链接讲解 https://blog.csdn.net/xmc281141947/article/details/56017147

Circle.javapublic class Circle{public Point center;public double radius;public double getArea(){return radius*radius*Math.PI;}public boolean point_in_circle(Circle circle,Point point){// 根据该点与圆心之间距离与半径的比较来确定该点是否在圆内 Math.abs(x)=|x| 绝对值double l = Math.sqrt(Math.abs((circle.center.x-point.x)*(circle.center.x-point.x)+(circle.center.y-point.y)*(circle.center.y-point.y)));if(l<=radius){return true;}else{return false;}}public static void main(String[] args){Circle obj = new Circle();obj.radius = 5;obj.center = new Point();obj.center.x = 5;obj.center.y = 5;Point point = new Point();point.x = 1;point.y = 1;System.out.println(obj.getArea());System.out.println(obj.point_in_circle(obj,point));}
}
Point.javapublic class Point {int x;int y;public double distance(){return Math.sqrt(x*x+y*y);}
}

11.银行账户建模

如下面类图所示,设计了一个名为 Account 的类,该类为银行帐户建模。

  1. 三个 public 实例变量:id(int),custom(Custom)和 balance(double)用于维持当前帐户余额。
  2. toString(),返回“ name(id), Balance=$xxx.xx”,balance四舍五入到小数点后两位。
  3. getCustomName(),获取客户姓名。
  4. deposit()方法实现存款操作,返回存款:xxx,余额:xxx,(余额四舍五入到小数点后两位)。
  5. withdraw方法实现取款操作,返回取款:xxx,余额:xxx,(余额四舍五入到小数点后两位)。

请编写Account类,及测试驱动程序,以测试所有public方法。

注:练习已预置了Customer类,可以直接使用

String.format()的详细用法 https://blog.csdn.net/anita9999/article/details/82346552

Account.javapublic class Account{int id;Customer custom = new Customer();double balance;//public Account(){}/*public Account(int id,Customer custom,double balance){this.id = id;this.custom = custom;this.balance = balance;}*/public String toString(){return custom.name+"("+id+")"+",Balance=$"+String.format("%.2f",balance);}public String getCustomName(){return custom.name;}public String deposit(double a){balance += a; return "存款:"+a+",余额:"+String.format("%2.f",balance);}public String withdraw(double b){balance -= b;return "取款:"+b+",余额:"+String.format("%2.f",balance);}public static void main(String[] args){Account obj = new Account();obj.id = 1;obj.custom.name = "张三";obj.balance = 500.354;System.out.println(obj.toString());System.out.println(obj.getCustomName());System.out.println(obj.deposit(20.00));System.out.println(obj.withdraw(10.00));}
}
Customer.javapublic class Customer {public int id;public String name;public char gender;public String toString(){return "Customer[id="+id+",name="+name+",gender="+gender+"]";}public static void main(String[] args) {Customer obj = new Customer();obj.id = 1;obj.name = "张三";obj.gender = 'm';System.out.println(obj.toString());}
}

12.接口GeometricObject

编程题

下面类图定义了两个接口: GeometricObject 可以计算几何对象的周长与面积,另一个 Resizable 以指定的百分比修改尺寸重置几何图形的大小。

请编写接口及其两个实现类。

public interface GeometricObject{public double getPerimeter();public double getArea();
}
public class Circle implements GeometricObject{double radius = 1.0;public Circle(double radius){this.radius = radius;}@Overridepublic double getPerimeter() {return radius*Math.PI*2;}@Overridepublic double getArea() {return radius*radius*Math.PI;}
}
public interface Resizable {public double resize(int percent);
}
public class ResizableCircle extends Circle implements Resizable {public ResizableCircle(double radius) {super(radius);}@Overridepublic double resize(int percent) {return (percent*getArea())/100;}
}

public class Test extends ResizableCircle{public Test(double radius) {super(radius);}public static void main(String[] args) {double radius = 3.0;Test t = new Test(radius);System.out.println("圆的面积为:"+t.getArea());System.out.println("圆的周长为:"+t.getPerimeter());System.out.println("圆修改后的尺寸为:"+t.resize(50));}
}

Java阿尔法编程题目相关推荐

  1. Java程序设计编程题目

    Java程序设计编程题目 一般题: 1. 编写一个应用程序,对程序中给定的四个double型数据求其最大值和最小值. import java.util.*; public class no1 { pu ...

  2. Java基础编程题目——利用公式求e^x的近似值

    利用下式求 ex 的近似值: ex = 1 + x/1! + x2/2! + x3/3! + - + xn/n! + - 输出 x 为 0.2 ~ 1.0 之间步长为 0.2 的所有 ex 值 (计算 ...

  3. Java基础编程题目——判断输入是否为十六进制数,若不是则抛出异常

    从键盘输入一个十六进制数,将其转换为十进制输出.如果输入的不是一个有效的十六进制数则抛出异常. import java.util.Scanner;public class Number {public ...

  4. Java基础编程题目——输出数字三角形

    输入一个数字 n(2~9)输出数字三角形 import java.util.Scanner;public class SanJiao {public static void main(String[] ...

  5. Java基础编程题目——定义一个比较两个数大小的方法

    编写一个方法判断两个数的大小,并返回较大的值 import java.util.Scanner;public class Max {public static void main(String[] a ...

  6. Java基础编程题目——接口应用,display()函数显示消息

    定义一个接口,其中包含display()方法用于显示信息:通知类.汽车类.广告类均要实现该接口显示"通知内容"."汽车油量".和"广告消息" ...

  7. Java基础编程题目——编写一个简单的银行账户类

    创建简单的银行账户类,包括开户人.账号和存款余额三个属性,以及查询余额.存款.取款等方法.创建两个账户验证类的设计. public class Banks {public static void ma ...

  8. Java基础编程题目——编写一个三角形的类

    编写一个代表三角形的类.其中3条边为三角形的属性,并封装有求三角形的面积和周长的方法.分别针对3条边为3.4.5和7.8.9的两个三角形进行测试. public class Triangle {pub ...

  9. JAVA基础——编程练习(一)

    java编程练习(一) 编程题目: 请根据所学知识,编写一个 JAVA 程序,实现输出考试成绩的前三名. 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 6 ...

最新文章

  1. Supervisor 进程管理工具
  2. 【java开发系列】—— java输入输出流
  3. 花30分钟,用Jenkins部署码云上的SpringBoot项目
  4. 【译】 Web Components 的高级工具
  5. 计算机基础知识题库选择题,计算机基础知识篇选择题库
  6. 99. Recover Binary Search Tree
  7. easyExcel实现Excel导出功能
  8. 【Elasticsearch】Elasticsearch 索引策略
  9. CS230+deeplearning.ai专项课程笔记及作业目录
  10. 十年测试之路的笔记分享
  11. linux端口扫描脚本ip段,shell脚本结合iptables防端口扫描的实现
  12. Linux下解压和压缩jar文件
  13. 拉昆塔温德姆酒店中国首店即将亮相山东潍坊;复星旅文旗下Club Med落子北美市场 | 全球旅报...
  14. 朴素贝叶斯凉鞋问题推导
  15. 完美世界控股集团发布全新互联网品牌88,推出首款个人免费商务邮箱
  16. Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before bundling.
  17. mysql 联表查询 简书_mysql多表查询
  18. 倍福--两台TwinCAT3之间做Ethernet IP通信
  19. vue编程式导航跳转到当前路由多次执行抛出NavigationDuplicated: Avoided redundant navigation to current location:
  20. 用CountDownLatch模拟跑步比赛

热门文章

  1. HandsFree——OpenRE库学习(一)
  2. 织梦dede建站仿站入门到精通
  3. 牛客小白月赛6 J 洋灰三角 数学
  4. 目标跟踪--水下机器鱼
  5. 2013年6月22日全国高校计算机联合考试广西考区一级笔试试题,2021年全国高校计算机联合考试广西考区一级笔试试题卷6月26日B.doc...
  6. python获取各个时间的时间戳
  7. 【题解】LuoGu5425:[USACO19OPEN]I Would Walk 500 Miles
  8. Boost库学习の时间日期处理
  9. 学习软件设计的非功能性需求
  10. Android 双开沙箱 VirtualApp 源码分析(四)启动插件 Service