今天早上考了java, 题目感觉还不错, 共四道题,有一道定义类的没啥意思就没列出来. 这三道题目还是不错的,特别是第一道,大一上学期学linux的时候,那时还没学C语言呢,准确的来说,还不知道什么是编程呢~~~去外面试听了几节linux的课, 那天老师直接复习C语言,可我还没见过C语言长啥样,直接傻眼了.最后布置了一道题,就是这里的第一道题了.

1. 有200个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-200,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。编写一个Java应用程序,计算出最后一个小朋友的号码是多少。

分析:使用递归

javapackage test50;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; /**
* @author VellBibi
*有200个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-200,从1号小朋友开始循环1-3报数,
*数到3的小朋友就退出。编写一个Java应用程序,计算出最后一个小朋友的号码是多少。
*/
public class Test3Quit { /**
* @param l 剩下小朋友List
* @param n 第n个开始报数
* @param m 数到m的人退出
* @return 最后一个小朋友的号码
*/
public static int play(List<Integer> l, int n, int m){
int s = l.size();
if(s <= 1) return l.get(0);
else {
n = n + m - 1;
while(n >= s)
n = n-s; l.remove(n);
return play(l, n, m);
}
} public static void main(String[] args) {
System.out.println("输入有多少个小朋友:");
Scanner s = new Scanner(System.in);
int n = s.nextInt(); List<Integer> l = new ArrayList<Integer>();
for(int i=1; i<=n; i++){
l.add(i);
}
System.out.println(play(l, 0, 3));
} }

2. 编写程序根据用户输入的整数来在屏幕上产生图形(必须使用循环):

输入7时:                      输入5时:

javaimport java.util.Scanner;

/**
* @author VellBibi
*编写程序根据用户输入的整数来在屏幕上产生图形(必须使用循环):
     输入7时:
    *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
*/
public class PrintView { public static void print(int n){
for(int i=0; i<n; i++){
for(int j=0; j<n+i; j++){
if(j == n-i-1 || j == n+i-1)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
} for(int i=0; i<n-1; i++){
for(int j=0; j<2*(n-1)-i; j++){
if(j == i+1 || j == 2*(n-1)-i-1)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
} public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
print(n);
} }

3. 用Swing包来实现一个窗体,要求如下:

l 窗体的初始大小为500*500;

l 窗体中包含一个下拉框,该下拉框包含(按钮1、按钮2、按钮3):位置(60,60),大小(90,30);

l 窗体中包含一个按钮(初始文本为“按钮”):位置(150,60),大小(80,30);

l 用监听事件实现当选择不同下拉框不同的选项时,按钮上的文本显示为对应的文本;

l 用监听事件实现当最小化窗口时,通过消息框显示“您正在最小化窗口”。

javaimport java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener; import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel; /**
* @author VellBibi
*用Swing包来实现一个窗体,要求如下:
*窗体的初始大小为500*500;
*窗体中包含一个下拉框,该下拉框包含(按钮1、按钮2、按钮3):位置(60,60),大小(90,30);
*窗体中包含一个按钮(初始文本为“按钮”):位置(150,60),大小(80,30);
*用监听事件实现当选择不同下拉框不同的选项时,按钮上的文本显示为对应的文本;
*用监听事件实现当最小化窗口时,通过消息框显示“您正在最小化窗口”。
*/
public class TestSwing { public static void main(String[] args) {
final JFrame f = new JFrame("vell001-VellBibi");
f.setLayout(null);
String[] str = new String[]{"按钮1","按钮2","按钮3"};
JComboBox cb = new JComboBox(str);
cb.setBounds(60, 60, 90, 30); final JButton bt = new JButton("按钮");
bt.setBounds(150, 60, 80, 30); final JDialog dl = new JDialog(f,"您正在最小化窗口");
JLabel l = new JLabel("您正在最小化窗口!!!");
dl.add(l);
dl.setSize(200, 100); cb.addItemListener(new ItemListener() { @Override
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED){
String item = (String)e.getItem();
bt.setText(item);
}
}
}); f.addWindowListener(new WindowListener() { @Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub } @Override
public void windowIconified(WindowEvent e) {
dl.setVisible(true);//显示dialog
} @Override
public void windowDeiconified(WindowEvent e) { } @Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub } @Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub } @Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub } @Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub }
}); f.add(cb);
f.add(bt);
f.setSize(500, 500);
f.setVisible(true);
} }

更多java题见:50道经典的JAVA编程题(目录)

今天考试的JAVA编程题的更多相关文章

  1. 50道经典的JAVA编程题(汇总)

    这是一次不可思议的编程历程.从2013年的最后一天开始做这份题,中间连续好几天的考试,包括java考试(今天考试的JAVA编程题),直到今天完成了.挺有成就感的...废话不多说了,来电实质性的吧. 全 ...

  2. 50道经典的JAVA编程题(31-35)

    50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...

  3. 50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  4. 50道经典的JAVA编程题(36-40)

    50道经典的JAVA编程题(36-40),今天晚上心情压抑,不爽,继续做题,管它明天考试,我继续我的java,一个周末都在看微机原理看得的很头疼啊~明天该挂科就挂吧,不在乎了~~~ [程序36] Ar ...

  5. 50道经典的JAVA编程题(21-25)

    50道经典的JAVA编程题(21-25),明天早上java考试了,还是坚持做题吧...这题比老师的题好多了! [程序21]TestJieCheng.java题目:求1+2!+3!+...+20!的和1 ...

  6. 50道经典的JAVA编程题(46-50)

    50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...

  7. 50道经典的JAVA编程题(26-30)

    50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...

  8. 50道经典的JAVA编程题 (16-20)

    50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊..哈哈 [程序16]Nine.java 题目:输出9*9口诀. 1.程序分析:分行与列考 ...

  9. 50道经典的JAVA编程题 (11-15)

    50道经典的JAVA编程题 (11-15),新年的第一天,继续啦...\(^o^)/~,这50道题都跨年了啊...哈哈 [程序11] TestTN.java 题目:有1.2.3.4个数字,能组成多少个 ...

随机推荐

  1. [转载]VS2012程序打包部署详解

    上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...

  2. XSS与CSRF两种跨站攻击比较

    XSS:跨站脚本(Cross-site scripting) CSRF:跨站请求伪造(Cross-site request forgery) 在那个年代,大家一般用拼接字符串的方式来构造动态SQL 语 ...

  3. <Learning How to Learn>Week One: Focused versus Diffuse Thinking

    1-1 Introduction to the focused and diffuse modes (4:40) 两种思考的模式:focused mode以及diffuse mode focused ...

  4. install Nagios on Unbuntu Unix

    Ubuntu Quickstart Up To: ContentsSee Also: Quickstart Installation Guides, Security Considerations I ...

  5. c++内存中字节对齐问题详解

    一.什么是字节对齐,为什么要对齐?    现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址 ...

  6. linux bash_profile和.bashrc区别

    经常在一些技术类的文章中提到修改bash_profile和.bashrc这两个文件,也算是使用频率比较高的两个文件吧,但实现同样一个功能,有的教程里说修改bash_profile这个文件,有的教程里却 ...

  7. 第一章、关于SQL Server数据库的备份和还原(sp_addumpdevice、backup、Restore)

    在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,当在非服务器的机器上启动sql server客户端的时候,也可以通过该客户端来 ...

  8. CF196 D2 D

    Book of Evil,有一颗树,n个节点,有m个节点被标记,问n个节点中,有多少个节点,这些节点与这m个节点的最远的距离小于等于d. 用down[i], up[i]分别标记只考虑以i为root的子 ...

  9. GCC警告选项例解

    程序员是追求完美的一族,即使是一般的程序员大多也都不想看到自己的程序中有甚至那么一点点的瑕疵.遇到任意一条编译器警告都坚决不放过.有人会说:我们可以使用比编译器更加严格的静态代码检查工具,如splin ...

  10. 关于web会话中的session过期时间的设置

    关于web会话中的session过期时间的设置 1.操作系统: 步骤:开始——〉管理工具——〉Internet信息服务(IIS)管理器——〉网站——〉默认网站——〉右键“属性”——〉主目录——〉配置— ...