大家好,如果您还对java常见编程题不太了解,没有关系,今天就由本站为大家分享java常见编程题的知识,包括java编程基础题的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
一、java编程题 本人新手,求详解。
1、先看下最终的结果吧,是不是你想要的?
2、其中,Student是父类,PostGraduate是子类,继承自父类Student,Main是主类,用于创建对象以及把这些对象的功能调用起来。
3、---------------------------Student代码如下:------------------------------
4、 private double computerScore;
5、 public void setsName(String sName){
6、 public double getMathScore(){
7、 public void setMathScore(double mathScore){
8、 public double getComputerScore(){
9、 public void setComputerScore(double computerScore){
10、 this.computerScore= computerScore;
11、*输出成员变量(4个成员变量)的信息。
12、 System.out.println("学号:"+sId);
13、 System.out.println("姓名:"+sName);
14、 System.out.println("计算机成绩:"+mathScore);
15、 System.out.println("数学成绩:"+computerScore);
16、---------------------------Student代码结束------------------------------
17、---------------------------PostGraduate代码如下:------------------------------
18、public class PostGraduate extends Student{
19、 private String ResearchDirection;
20、 public void settName(String tName){
21、 public String getResearchDirection(){
22、 public void setResearchDirection(String researchDirection){
23、 ResearchDirection= researchDirection;
24、*研究生类重写父类的void print()方法,功能是输出成员变量(6个成员变量)的信息
25、// TODO Auto-generated method stub
26、 System.out.println("导师姓名:"+tName);
27、 System.out.println("研究方向:"+ResearchDirection);
28、---------------------------PostGraduate代码结束------------------------------
29、---------------------------Main代码如下:------------------------------
30、 public static void main(String[] args){
31、// TODO Auto-generated method stub
32、 Scanner input=new Scanner(System.in);
33、 Student student=new Student();
34、 System.out.print("请输入学生的学号:");
35、 student.setsId(input.nextInt());
36、 System.out.print("请输入学生的姓名:");
37、 student.setsName(input.next());
38、 System.out.print("请输入学生的数学成绩:");
39、 student.setMathScore(input.nextDouble());
40、 System.out.print("请输入学生的计算机成绩:");
41、 student.setComputerScore(input.nextDouble());
42、//并且通过其print方法输出这些信息;
43、//创建一个PostGraduate类的对象
44、 PostGraduate postGraduate=new PostGraduate();
45、 System.out.print("请输入研究生的学号:");
46、 postGraduate.setsId(input.nextInt());
47、 System.out.print("请输入研究生的姓名:");
48、 postGraduate.setsName(input.next());
49、 System.out.print("请输入研究生的数学成绩:");
50、 postGraduate.setMathScore(input.nextDouble());
51、 System.out.print("请输入研究生的计算机成绩:");
52、 postGraduate.setComputerScore(input.nextDouble());
53、 System.out.print("请输入研究生的导师姓名:");
54、 postGraduate.settName(input.next());
55、 System.out.print("请输入研究生的研究方向:");
56、 postGraduate.setResearchDirection(input.next());
57、//并且通过其print方法输出这些信息。
58、---------------------------Main代码结束------------------------------
59、=================知识点的简单总结=================
60、本题考察的知识点是面向对象的三大特性之一:继承。
61、Student为父类,包含了学号、姓名、数学成绩和计算机成绩4个属性,以及一个print()方法。
62、PostGraduate继承父类的时候,继承了父类中的所有方法,因为方法我都是用的public,而属性继承不了,因为我在父类中用了封装,所有属性都用private修饰了,想访问属性的话,必须通过get、set方法,这里,我重写了父类中的print方法,通过super.print();调用了父类中的print()方法。
63、最后就是Main类,提供了main方法作为入口函数,用于按要求声明这些对象以及去调用对象中的方法。
二、8道简单的Java编程题
们学的都是初级,高手别用太复杂的语句。谢谢【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。【程序3】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。【程序4】题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。【程序5】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?【程序6】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。【程序7】题目:输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。【程序8】题目:打印出如下图案(菱形)**************************** 1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。我来帮他解答
private static void tuzinum(){
ArrayList<Integer> list= new ArrayList<Integer>();
for(int j=0;j<list.size();j++){
System.out.println("第"+i+"个月兔子对数为:"+list.size());
插入图片删除图片插入地图删除地图插入视频视频地图
三、JAVA编程的几个简单题目
/*count_6、count_7、count_8用来记录收敛那个数字的个数,在这里我记录只要他出现了10次我就认为他收敛与他了
*还没想到更好的办法,如果不设置这个,就会出现栈溢出,递归不出来了!不过可以看到结果输出结果确实是对的
private Stack<Integer> stack= new Stack<Integer>();//栈用来存放素因子
Scanner scan= new Scanner(System.in);
}catch(NumberFormatException ne){
System.out.println(ne.getMessage());
if(n>2&& 0== n%2)//是大于2偶数
int k= stack.pop().intValue();
if(count_6> 10|| count_7> 10|| count_8> 10)
public static void main(String[] args)
class MyException extends Exception
public MyException(String msg)
Scanner scan= new Scanner(System.in);
}catch(NumberFormatException ne){
System.out.println(ne.getMessage());
public int cal(int a, int b) throws MyException
if(b==0) throw new MyException("自定义异常:输入的第二个数为0");
else if(a/b<1) throw new MyException("自定义异常:相除的结果小于1");
public static void main(String[] args){
MyExceptionTest me= new MyExceptionTest();
System.out.print("请输入第一个数:");
System.out.print("请输入第二个数:");
System.out.println("相除的结果:"+ me.cal(a, b));
System.out.println(e.getMessage());
private static Map<String, Integer> map= new LinkedHashMap<String, Integer>();
private static final int ONE= 1;//没有出现过,则设置其出现一次;
Scanner scan= new Scanner(System.in);
String [] text= content.split("");
for(int i=0; i<text.length; i++)
if(!map.containsKey(text[i])){
public<K, V extends Number> Map<String, V> sortMap(Map<String, V> map){
private void setValue(N value){
List<MyMap<String, V>> list= new ArrayList<MyMap<String, V>>();
for(Iterator<String> i= map.keySet().iterator(); i.hasNext();){
MyMap<String, V> my= new MyMap<String, V>();
Collections.sort(list, new Comparator<MyMap<String, V>>(){
public int compare(MyMap<String, V> o1, MyMap<String, V> o2){
if(o1.getValue().equals(o2.getValue())){
return o1.getKey().compareTo(o2.getKey());
return(int)(o2.getValue().doubleValue()- o1.getValue().doubleValue());
Map<String, V> sortMap= new LinkedHashMap<String, V>();
for(int i= 0, k= list.size(); i< k; i++){
MyMap<String, V> my= list.get(i);
sortMap.put(my.getKey(), my.getValue());
public static void main(String[] args){
CountCharacter cc= new CountCharacter();
Map<String, Integer> sortMap= cc.sortMap(cc.map);
Iterator<Entry<String, Integer>> it= sortMap.entrySet().iterator();
Map.Entry<String,Integer> entry= null;
while(it.hasNext()&& i<10){//去前面10个
entry=(Entry<String,Integer>) it.next();
System.out.println(entry.getKey()+"-->"+ entry.getValue());
public static void main(String[] args){
System.out.print("请输入一个的数:");
System.out.println("输入数据错误!");
System.out.print("请输入显示的行数:");
System.out.println("输入数据错误!");
private Vector<String> vectorStr= new Vector<String>();//用来方单词
private Vector<Integer> vectorInt= new Vector<Integer>();//用来记录对应下标的单词的个数
private static final int ONE= 1;//没有出现过,则设置其出现一次;
Scanner scan= new Scanner(System.in);
String [] text= content.split("");
for(int i=0; i<text.length; i++)
if(vectorStr.contains(text[i])){//若次单词已经存在与vector中则只要修改对应的个数
index= vectorStr.indexOf(text[i]);
int value= vectorInt.get(index)+1;
vectorInt.setElementAt(value, index);
else{//若不存在则添加该单词,同时要初始化对应下标的单词的个数
System.out.println(vectorStr);
for(int i=0; i<vectorStr.size(); i++)
System.out.println(vectorStr.get(i)+"->"+ vectorInt.get(i));
public static void main(String[] args){
最后一个了不容易!考虑加点分吧!
private Stack<Integer> stack= new Stack<Integer>();
System.out.print("输入一个整数:");
Scanner scan= new Scanner(System.in);
System.out.println("输入错误!");
for(int i=1; i<integer; i++)
for(int j= i; j<=integer; j++)
System.out.print(integer+"=");
System.out.print(stack.pop().intValue()+"+");
System.out.print(stack.pop().intValue()+"\n");
System.out.println("该整数没有连续正整数序列!");
public static void main(String[] args){
如果你还想了解更多这方面的信息,记得收藏关注本站。