几道java基础题 求大神解答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几道java基础题 求大神解答相关的知识,希望对你有一定的参考价值。

1. 编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变
量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,
编写一个主类,在主类中测试Account类的功能。
2. 编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、
姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age)
用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类——
TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测
试Student类的功能。
3. 编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print
类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的
立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来
测试类Print。
4.按要求编写Java应用程序。
(1)创建一个叫做People的类:
属性:姓名、年龄、性别、身高
行为:说话、计算加法、改名
编写能为所有属性赋值的构造方法;
(2)创建主类:
创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80;
让该对象调用成员方法:
说出“你好!”
计算23+45的值
将名字改为“李四”
5. 编写一个Shape类,具有属性:周长和面积;
定义其子类三角形和矩形,分别具有求周长的方法。
定义主类E,在其main方法中创建三角形和矩形类的对象,
并赋给Shape类的对象a、b,使用对象a、b来测试其特性。
6.按要求编写Java程序:
(1)编写一个接口:InterfaceA,只含有一个方法int method(int n);
(2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方
法时,要求计算1到n的和;
(3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口
方法时,要求计算n的阶乘(n!);
(4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现
接口的类。
7.按要求编写一个Java应用程序程序:
(1)定义一个接口CanFly,描述会飞的方法public void fly();
(2)分别定义类飞机和鸟,实现CanFly接口。
(3)定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,
再定义一个makeFly()方法,其中让会飞的事物飞。并在main方法中调用该方法,
让飞机和鸟起飞。

参考技术A 20分太少了.东西太多.写着好累.追问

加了5分了

参考技术B 年轻人,这些都是基础,真没必要叫人帮你做,如果连这些都不想做,建议学点其它的东西或者转行吧。追问

我没说要做这一行,只求答案,帮不到的话就算了。

Oracle同程网络的几道笔试题解答(不一定对,欢迎拍砖)


【Oracle】同程网络的几道笔试题解答(不一定对,欢迎拍砖)

【Oracle】同程网络的几道笔试题解答(不一定对,欢迎拍砖)
【Oracle】同程网络的几道笔试题解答(不一定对,欢迎拍砖)       

    今天小麦苗给大家分享的是同程网络的几道笔试题解答(不一定对,欢迎拍砖)。


同程网络的几道笔试题解答(不一定对,欢迎拍砖)



一、 问答题1题30分

下列脚本语句语法上有哪些问题,优化后该怎么写

select substr(t.dd,1,7) as month, count(distinct t.id)

from (

select fio.memberfk as id, to_date(fio.createdate) as dd,

row_number() over (partition by fio.memberfk order by to_date(fio.createdate)) as num

from middledata.factflyintorder fio

left join dimdata.dimflyintorderflag zt on fio.orderflagfk = zt.orderflagkey

where to_date(fio.createdate) >= '2016-03-01'

and to_date(fio.createdate) < '2017-04-01'

and zt.orderflagkey = 14

and fio.platfk = 501

group by fio.memberfk, to_date(fio.createdate)

) t

where t.num = 1

order by month

group by month

 

 

 

--默认FIO.CREATEDATE为日期类型

1.去掉表DIMDATA.DIMFLYINTORDERFLAG

2.最后的ORDER BYGROUP BY位置调换

3.FIO.CREATEDATE BETWEEN to_date('2016-03-01','YYYY-MM-DD') AND to_date('2017-04-01','YYYY-MM-DD')

4.剩下的看执行计划吧

 

优化后:

SELECT SUBSTR(T.DD, 1, 7) AS MONTH, COUNT(DISTINCT T.ID)

  FROM (SELECT FIO.MEMBERFK AS ID,

               TO_CHAR(FIO.CREATEDATE,'YYYY-MM-DD') AS DD,

               ROW_NUMBER() OVER(PARTITION BY FIO.MEMBERFK ORDER BY TO_DATE(FIO.CREATEDATE)) AS NUM

          FROM MIDDLEDATA.FACTFLYINTORDER FIO

         WHERE FIO.CREATEDATE BETWEEN to_date('2016-03-01','YYYY-MM-DD') AND to_date('2017-04-01','YYYY-MM-DD')

           AND FIO.PLATFK = 501

         GROUP BY FIO.MEMBERFK, TO_DATE(FIO.CREATEDATE)) T

 WHERE T.NUM = 1

 GROUP BY MONTH

 ORDER BY MONTH

 

二、 操作题3题70分

机票订单middledata.factflyintorder

相关字段

字段名称

字段

数据类型

描述

订单流水号

serialid

string


航司ID

airwaysfk

int


会员ID

memberfk

int


创建时间

createdate

timestamp


营收

totaltakeoff

decimal(10,2)


航段数

legcount

int


订单状态

issuccess

tinyint

1-成功;2-进行中;3-失败

订单是否有效

isvalid

tinyint

0-否;1-是

是否测试单

istest

int

0-否;1-是

机票航司维度表:dimdata.dimflyairway

相关字段如下:

字段名称

字段

数据类型

描述

航司ID

flyairwaykey

int


航司二字码

flyairwaycode

string


航司名称

flyairwaydes

string


 

根据上面提供信息下面的问题编写脚本:

1)2017年以来每月的均航段营收(提示:均航段营收=营收/航段sum函数;成功订单,排除测试和无效单)

 

SELECT TO_CHAR(A.CREATEDATE, 'YYYYMM') AS 月份,

       SUM(A.TOTALTAKEOFF / LEGCOUNT) AS 均航段营收

  FROM MIDDLEDATA.FACTFLYINTORDER A

 WHERE A.CREATEDATE >= TO_DATE('20170101', 'YYYYMMDD')

   AND ISVALID = 1

   AND ISTEST = 0

 GROUP BY TO_CHAR(A.CREATEDATE, 'YYYYMM');

 

 

2)2017年5月各航司的总营收输出时间,航司二字码和营收数据并按营收倒序排列(提示表关联sum,order by

 

 

SELECT A.CREATEDATE AS 输出时间,

       B.FLYAIRWAYCODE AS 航司二字码,

       SUM(A.TOTALTAKEOFF) AS 营收数据

  FROM MIDDLEDATA.FACTFLYINTORDER A

  JOIN DIMDATA.DIMFLYAIRWAY B

    ON A.AIRWAYSFK = B.FLYAIRWAYKEY

 WHERE A.CREATEDATE = TO_DATE('201705', 'YYYYMM')

 GROUP BY A.AIRWAYSFK, A.CREATEDATE, B.FLYAIRWAYCODE

 ORDER BY TOTALTAKEOFF DESC;

 

3)2017年6月1号各航司营收最高的订单,输出航司二字码和订单号(提示表关联Row_number,Partition by

 

SELECT 航司二字码,订单号

  FROM (SELECT B.FLYAIRWAYCODE AS 航司二字码,

               SUM(A.TOTALTAKEOFF) AS 营收数据,

               A.SERIALID 订单号,

               ROW_NUMBER() OVER(PARTITION BY A.AIRWAYSFK, B.FLYAIRWAYCODE, A.SERIALID ORDER BY SUM(A.TOTALTAKEOFF) DESC ) RN

          FROM MIDDLEDATA.FACTFLYINTORDER A

          JOIN DIMDATA.DIMFLYAIRWAY B

            ON A.AIRWAYSFK = B.FLYAIRWAYKEY

         WHERE A.CREATEDATE = TO_DATE('20170601', 'YYYYMMDD')

         GROUP BY A.AIRWAYSFK, B.FLYAIRWAYCODE, A.SERIALID)

 WHERE RN = 1;

 

 


【Oracle】同程网络的几道笔试题解答(不一定对,欢迎拍砖)


DB笔试面试历史连接

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

【Oracle】同程网络的几道笔试题解答(不一定对,欢迎拍砖)


DBA宝典小程序

  

【Oracle】同程网络的几道笔试题解答(不一定对,欢迎拍砖)

About Me:小麦苗

 版权所有,欢迎分享本文,转载请保留出处

【Oracle】同程网络的几道笔试题解答(不一定对,欢迎拍砖)


以上是关于几道java基础题 求大神解答的主要内容,如果未能解决你的问题,请参考以下文章

Java新手必备:20道java基础面试题,不看答案你会几道题?

Java编程题:三线程接力

Python编程题,求解答

Java编程练习题,基础不牢地动山摇!看看着50道你会几道!

python问题,跪求大神解答

Java基础——HashMap源码分析及面试题解答