JAVA程序设计题库

更新时间:2024-05-23 08:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《Java程序设计》编程题 Java语言考试题编程题知识点规定 a:固定题 b:简单题 c:中等题 d:难题 ### ~~~b

一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6 = 1 + 2 + 3,因此6是“完数”。编程序找出2000之内的所有完数。 ~

参考程序如下:

public class 完数 { public static void main(String[] args) { }

// TODO Auto-generated method stub

for(int i=1;i<2001;i++) { }

int s=0;

for(int j=1;j

if(i%j==0) { } }

s+=j;//怕你不懂,这句话相当于s=s+j if(s==i) { }

System.out.println (i);

}

评分标准:

1、写出能完成题目要求功能的、可正常运行的Java程序,给满分,否则0分。 ~~~b

打印出2000以内的所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153 = 13 + 53 + 33。 ~

参考程序如下:

public class 水仙花数 { public static void main(String[] args) {

// TODO Auto-generated method stub for(int i=100;i<=2000;i++) {

int x=i;//%是取余数的意思 ,前面定义数字类型时所用的 int是整数,

所以会只取余数的整数部分 int y=i/10; }

}

int z=i/100;

if(Math.pow(x,3)+Math.pow(y,3)+Math.pow(z,3)==i) {

System.out.print(i+\);//这个+号就把两边的内容直接显示在一

起╮(╯-╰)╭

}//记得一定写最后面的\这个是空格哟 }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

求Sn=a+aa+aaa+?+aa?a之值,其中a是一个数字。例如:2+22+222+?+22222(此时n=5),n由键盘输入。 ~

参考程序如下:

import java.util.Scanner;

public class N位相同数字和 { public static void main(String[] args) { }

// TODO Auto-generated method stub int x,n,s=0,r=0;

Scanner sc=new Scanner(System.in);//定义一个输入流,背会就好╮(╯-System.out.println(\请输入一个1~9的数字:\); x=sc.nextInt();

System.out.println(\请输入N\); n=sc.nextInt(); for(int i=1;i

s=s*10+x; r+=s;

╰)╭

System.out.println(n+\位相同数字和为:\+r); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的Java程序,给满分,否则0分 ~~~b

一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过了多少米?第10次反弹多高? ~

参考程序如下:

public class 小球 { public static void main(String[] args) { }

// TODO Auto-generated method stub double h1=100,h2=100,s=100; for(int i=1;i<=10;i++) {

h1=h1/2;//用来计算每一次弹起的高度

h2=h1*2;//计算谈起又落下的高度,h2在这里定义值为100只是为了方便,h2

必须定义,但最初的数据不影响计算

s+=h2;//加上最开始落下的100米,累计相加 }

System.out.println(\共经过了\+s+\米\);

System.out.println(\第10次反弹\+h1+\米\); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写一个程序,要求输入一个整数,将各位数字反序后输出。 ~

参考程序如下:

import java.util.Scanner;

public class 输出反序数字 { public static void main(String[] args) {

// TODO Auto-generated method stub int i,j;

Scanner sc=new Scanner(System.in); System.out.println(\请输入一个整数:\); i=sc.nextInt();

while(i!=0)//这个也是在取余,但是不知道是几位数,就要这样循环直到i=0 {

j=i;

System.out.print(j);//!!这不是之前的printIn了! 如果用那个的话,

反序输出的数字就不在一行了 i/=10; }

}

}

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一

半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。 ~

参考程序如下:

public class 猴子吃桃 { public static void main(String[] args) { //太简单我就不在修改运行了 int number=1; for(int i=10;i>1;i--){ number=(number+1)*2; } System.out.println(\第一天总共摘了\个桃子。\ } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写一个Java Application类型的程序,从键盘上输入三角形的三条边的长度,计算三角形的面积和周长并输出。根据三角形边长求面积公式如下:Math.sqrt(s*(s-a)*(s-b)*(s-c)) ,其中a、b、c为三角形的三条边,s=(a+b+c)/2。 ~

参考程序如下:

import java.util.Scanner;

public class 三角形 { public static void main(String[] args){

// TODO Auto-generated method stub Scanner sc=new Scanner(System.in); double a,b,c,s,m,area; String str;

System.out.println(\请输入三角形的第一个边长\); str=sc.next();

System.out.println(\请输入三角形的第二个边长\); str=sc.next();

System.out.println(\请输入三角形的第三个边长\); str=sc.next();

if(a+b<=c||a+c<=b||c+b<=a) { }

s=(a+b+c)/2; m=a+b+c;

System.out.println(\输入边构不成三角形!\); return;

a=Double.parseDouble(str);

b=Double.parseDouble(str);

c=Double.parseDouble(str);

}

area=Math.sqrt(s*(s-a)*(s-b)*(s-c)); System.out.println(\三角形的周长为:\+m);

System.out.println(\三角形的面积为:\+area); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写一个程序,要求读入若干个整数,统计出正整数个数和负整数个数,读入0则结束。 ~

参考程序如下:

import java.util.Scanner;

public class 统计负整数正整数 { public static void main(String[] args) { }

Scanner sc=new Scanner(System.in); int i=0,j=0,num;

System.out.println(\请输入整数:\); num=sc.nextInt(); while(num!=0) { }

System.out.println(\正整数有\+i+\个\);

if(num>0)i++; if(num<0)j++; num=sc.nextInt();

System.out.println(\负整数有\+j+\个\); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写一个Java Application类型的程序,从键盘上输入摄氏温度C,计算华氏温度F的值并输出。其转换公式如下: F = (9 / 5) * C + 32 ~

参考程序如下:

import java.util.Scanner;

public class 华氏温度 { public static void main(String[] args){

Scanner sc=new Scanner(System.in); double C,F; String str;

System.out.println(\请输入摄氏温度:\);

}

str=sc.next();

C=Double.parseDouble(str); F=(9 / 5) * C + 32;

System.out.println(\华氏温度为:\+F); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写打印“九九乘法口诀表”的程序。 ~

参考程序如下:

public class 九九乘法表 { public static void main(String[] args) { }

int i,j;

for(i=1;i<10;i++) { }

for(j=1;j<10;j++) {

System.out.print(i + \ + j + \ + i*j + \); }

System.out.println(\);

}

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~c

编写一个根据上下限求回文数的方法,要求输出上下限范围内的回文数及个数。编写测试类进行测试。例如100-200之间的回文数为: 101 111 121 131 141 151 161 171 181 191,总共有10个。 ~

参考程序如下: import java.util.*;

public class 求回文数 { private int couti; private int n1,n2; boolean isPalindromic(int n){ int m=0,i=n; while(i>0){ m=m*10+i; i/=10; }

if(m==n){ return true; }else{ return false; } }

void setN1N2(int n1,int n2){ this.n1=n1; this.n2=n2; }

private void changeSort(){ int temp; if(n1>=n2){ temp=n2; n2=n1; n1=temp; } }

int getN(){ changeSort(); for(int i=n1;i<=n2;i++){ if(isPalindromic(i)){ couti++; } } return couti; }

void showNumber(){ changeSort();

System.out.println(n1+\与\之间的回文数为:\ for(int i=n1;i<=n2;i++){ if(isPalindromic(i)){ System.out.print(i+\ } } } }

class 回文数测试类{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); int n1=sc.nextInt(); int n2=sc.nextInt(); 求回文数 p1=new 求回文数();

p1.setN1N2(n1, n2); p1.showNumber(); System.out.println(\与\之间的回文数个数为:\ } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写一个程序,接受用户输入的两个数据为上、下限,然后输出上、下限之间的所有素数。 ~

参考程序如下: import java.io.*;

public class 素数 { public static void main(String[] args) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int top, bottom, i, j,m=0; System.out.print(\请输入上限:\ top = Integer.parseInt(br.readLine()); } }

System.out.print(\请输入下限:\bottom = Integer.parseInt(br.readLine()); if(top

for(i=bottom; i<=top; i++){ int k = (int)Math.sqrt(i); for(j=2; j<=k; j++){ if(i % j == 0) break; } if(j>k) { if(m%4==0) { System.out.println(); } m++; System.out.print(i + \ } }

System.out.println();

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~c

从键盘上输入一个字符串,试分别统计出该字符串中所有数字、大写英文字母、小写英文字母以及其他字符的个数并分别输出这些字符。 ~

参考程序如下:

public class 统计字符 { public static void main(String args[]) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String str = br.readLine(); int i, ditNo = 0, upCharNo = 0, loCharNo = 0, otherCharNo = 0; for (i = 0; i < str.length(); i++) { if (str.charAt(i) <= '9' && str.charAt(i) >= '0') ditNo++; else if (str.charAt(i) <= 'Z' && str.charAt(i) >= 'A') upCharNo++; else if (str.charAt(i) <= 'z' && str.charAt(i) >= 'a') loCharNo++; else otherCharNo++; } System.out .println(\数字数目= \大写字母数目=\ System.out.println(\小写字母数目=\其它字母数目= \ + otherCharNo); } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写程序,读取一个在0和1000之间的整数,并将该整数的各位数字加和。 ~

参考程序如下:

import java.util.Scanner;

public class 整数数字加和 { public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.println(\请输入一个0~1000的整数:\); int a,d1,d2,d3,sum; a=sc.nextInt();

}

if(a<0||a> 1000){

System.out.println(\您输入的数字不合法!\); System.exit(0); } d1=a; d2=a/10; d3=a/100;

sum=d1+d2+d3;

System.out.print(\该整数的各位数字之和为:\+sum); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写程序对数组a={20,39,45,78,43,23,45,89,131}进行排序,输出各个元素并求出数组当中的最大值和最小值及平均值。 ~

参考程序如下:

import java.util.Arrays;

public class 数组排序 { public static void main(String[] args) {

int[] a={20,39,45,78,43,23,45,89,131}; Arrays.sort(a);

System.out.println(\排序后的数组元素为:\); int sum=0; float av=0.0f;

for(int i=0;i

av=sum/(float)a.length;

System.out.print(a[i]+\); sum+=a[i];

System.out.println(\数组中的最小值为:\+a[0]+\最大值为:\+a[a.length-1]); }

}

System.out.println(\所有元素的平均值为:\+av);

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~c

一些网站设定了一些制定密码的规则。编写一个方法,检验一个字符串是否是合法的密码。假设密码规则如下:(1)密码必须至少有8个字符(2)密码只能包括字母和数字(3)密码必须至少有2个数字。编写一个程序,提示用户输入密码,如果该密码符合规则就显示“有效密码”,否则显示“无效密码”。

~

参考程序如下:

import java.util.Scanner; public class Question11{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str; System.out.print(\请输入密码:\ str = sc.next();

if (isValidPass(str)) System.out.println(\有效密码\ else System.out.println(\无效密码\ } private static boolean isValidPass(String str){ if (isLengthValid(str) && isCharValid(str) && isNumberValid(str)) return true; else return false; } private static boolean isLengthValid(String str){ if (str.length() >= 8) return true; else return false; } private static boolean isCharValid(String str){ boolean isCharValid = true; for (int i = 0; i < str.length() ; i++) { if (!Character.isLetterOrDigit(str.charAt(i))){ isCharValid = false; break; } } return isCharValid; } private static boolean isNumberValid(String str){ int count = 0; for (int i = 0; i < str.length(); i++){ if (Character.isDigit(str.charAt(i))) count++; } if (count >= 2) return true; else return false; } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分

~~~b

编写程序,求1+3+7+15+?+(220-1)。说明:220指的是2的20次幂。

~

参考程序如下:

public class 求表达式值1 { public static void main(String[] args) { int i=0,sum=0,m=1; for(i=1;i<=20;i++){ m*=2; sum+=m-1; } }

}

System.out.println(\表达式的值是:\

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分

~~~b

已知,s=1-1/2+1/3-1/4+?+1/(n-1)-1/n,编写程序,求n=100时,s的值。 ~

参考程序如下:

public class 求表达式值2 { public static void main(String[] args) { int k=1,i; double s=0; for(i=1;i<101;i++){ s=s+(double)k/(double)i; k=-k; } i--; System.out.println(\时,s=\ } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分

~~~d

利用面向对象知识,用Java语言编写圆类(Circle)和矩形类(Retangle)继承自形状类(Shape),计算周长和面积,并编写测试类测试完成测试。 ~

参考程序如下: import java.util.*;

public abstract class Shape { abstract void setParm(double... a);

}

abstract double getArea();

abstract double getPerimeter();

//圆形类

class Circle extends Shape{ private double r; public Circle(){} public Circle(double r){ this.r=r; } void setParm(double... r){ this.r=r[0]; } double getArea(){ return Math.PI*r*r; } double getPerimeter(){ return 2*Math.PI*r; } }

class Retangle extends Shape{ private double w,h; public Retangle(){} public Retangle(double w,double h){ this.w=w; this.h=h; } public void setParm(double...ds ){ this.w=ds[0]; this.h=ds[1]; } double getArea(){ return w*h; } double getPerimeter(){ return 2*(w+h); } }

class ShapeFactory{ public static Shape createShape(int shape){ Shape sh=null; switch(shape){ case 1:sh=new Circle();

break; case 2:sh=new Retangle(); break; } return sh; } }

class MyShapeConsole{ private int shape; private Scanner sc; private Shape sp; private boolean flag=true; private String s=\ public MyShapeConsole(){ sc=new Scanner(System.in); setMenu(); while(true){ shape=sc.nextInt(); sp=ShapeFactory.createShape(shape); setParm(); showResult(); System.out.println(\(y/n)\ s=sc.next(); if(s.equals(\ setMenu(); flag=true; }else if(s.equals(\ flag=false; System.out.println(\程序终止运行!\ System.exit(0); } } } private void setMenu(){

System.out.println(\控制菜单\ System.out.println(\ System.out.print(\圆形 \\t *\\n\ System.out.print(\矩形 \\t *\\n\ System.out.print(\退出 \\t *\\n\ System.out.println(\ System.out.println(\请输入要计算面积和周长图形数字:\}

private void setParm(){

switch(shape){

case 1:System.out.println(\请输入圆形的半径:\ sp.setParm(sc.nextDouble()); break;

case 2:System.out.println(\请输入矩形的宽度和长度:\ sp.setParm(sc.nextDouble(),sc.nextDouble()); break; case 3:return;

default:System.out.println(\输入参数错误!\ } }

private void showResult(){ switch(shape){

case 1:System.out.println(\圆形的面积为:\周长为:\ break; case 2:System.out.println(\矩形的面积为:\周长为:\ break; case 3:System.out.println(\程序终止运行!\ System.exit(0); } } }

class Test{ public static void main(String[] args){ MyShapeConsole ms=new MyShapeConsole(); } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~c

输入某年某月某日,判断这一天是这一年的第几天。计算方法为:h =(q+[26(m+1)/10]+k+[k/4]+[j/4]+5*j)%7,各变量含义如下:(1)h是一个星期中的每一天(0为星期六;1为星期天;2为星期一;3为星期二;4为星期三;5为星期四;6为星期五)(2)q是某月的某一天(3)m是月份(3为三月,4为四月,...,12为十二月)。一月和二月分别记为上一年的13和14月。(4)j是世纪数(即|year/100|)(5)k是世纪的年数(即year0)。 ~

参考程序如下: import java.util.*;

public class lianxi14 {

public static void main(String[] args) { int year, month, day; int days = 0; int d = 0; int e;

input fymd = new input(); do { e = 0;

System.out.print(\输入年:\ year =fymd.input();

System.out.print(\输入月:\ month = fymd.input();

System.out.print(\输入天:\ day = fymd.input();

if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) { System.out.println(\输入错误,请重新输入!\ e=1 ; }

}while( e==1);

for (int i=1; i

if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) { days = 29; } else { days = 28; }

break;

}

d += days; }

System.out.println(year + \是这年的第\天。\} }

class input{

public int input() { int value = 0;

Scanner s = new Scanner(System.in); value = s.nextInt(); return value; } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分

~~~b

有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩。 ~

参考程序如下:

import java.util.Scanner;

public class 学生成绩 { public static void main(String[] args) {

Scanner ss = new Scanner(System.in); String [][] a = new String[5][6]; for(int i=1; i<6; i++) {

System.out.print(\请输入第\+i+\个学生的学号:\); a[i-1][0] = ss.nextLine();

System.out.print(\请输入第\+i+\个学生的姓名:\); a[i-1][1] = ss.nextLine(); for(int j=1; j<4; j++) {

System.out.print(\请输入该学生的第\+j+\个成绩:\); a[i-1][j+1] = ss.nextLine(); }

System.out.println(\); } float avg; int sum;

for(int i=0; i<5; i++) {

}

}

sum=0;

for(int j=2; j<5; j++) {

sum=sum+ Integer.parseInt(a[i][j]); }

avg= (float)sum/3;

a[i][5]=String.valueOf(avg);

System.out.println(\学生的平均成绩为:\+avg); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~a

编写程序,从键盘上输入自己的班级、学号、姓名、身份证号等真实信息,并在屏幕上输出。输出格式如下:2014网络媒体1班 11101016 Jike 4101041999052943. ~

参考程序如下:

import java.util.Scanner;

public class 输入输出信息 {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

String banji,xuehao,xingming,shenfenzhenghao; System.out.println(\请输入自己的班级:\); banji=sc.next();

System.out.println(\请输入自己的学号: \); xuehao=sc.next();

System.out.println(\请输入自己的姓名: \); xingming=sc.next();

System.out.println(\请输入自己的身份证号: \); shenfenzhenghao=sc.next();

System.out.println(\真实信息为:\+\班级:\+banji+\学号:

\+xuehao+\姓名:\+xingming+\身份证号:\+shenfenzhenghao); }

}

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分

~~~b

编写程序,从键盘上任意输入两个整数,并将其结果按格式打印输出。input:3 5 output:3×5=15。 ~

参考程序如下:

import java.util.Scanner;

public class 输入整数输出 { public static void main(String[] args) {

}

Scanner sc = new Scanner(System.in);

System.out.println(\请输入第一个整数:\\t\); int i = sc.nextInt(); System.out.println(\请输入第二个整数:\\t\); int j = sc.nextInt();

}

System.out.println(i + \ + j + \ + (i * j));

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~c

对于给定数组ary={3,50,25,10,90,85}编写程序完成下述功能:1.对其中元素进行排序;2.对其中的元素求和。要求定义接口,并编写测试类完成测试。 ~

参考程序如下: import java.util.*;

//接口CommandMode,定义指令 public interface CommandMode { void op(int[] ary); }

// 操控指令类operateCommand class OperateCommand { private int[] ary; public OperateCommand(int[] ary) { this.ary = ary; } public void operate(CommandMode c) { c.op(ary); } }

// ArraySortedPrint类,指令1,对数组元素排序并格式化输出 class ArraySortedPrint implements CommandMode { private int[] ary; public ArraySortedPrint(int[] ary) { this.ary = ary; }

public void op(int[] ary) { Arrays.sort(ary); System.out.println(\

System.out.println(\数组排序后输出结果为:\ for (int i = 0; i < ary.length; i++) { System.out.print(\ if ((i + 1) % 2 == 0) { System.out.print(\ } } System.out.println(\ } }

//ArrayElementSum类,指令2,对数组元素求和并格式化输出。 class ArrayElementSum implements CommandMode { private int[] ary; public ArrayElementSum(int[] ary) { this.ary = ary; } public void op(int[] ary) { int sum = 0; for (int temp : ary) { sum += temp; } System.out.println(\ System.out.println(\数组求和后的结果为:\ for (int i = 0; i < ary.length - 1; i++) { System.out.print(\ } System.out.print(\ System.out.println(\ } }

//测试类Test class Test { public static void main(String[] args) { int[] ary = { 3, 50, 25, 10, 90, 85 }; ArrayElementSum aes = new ArrayElementSum(ary); ArraySortedPrint asp = new ArraySortedPrint(ary); OperateCommand oc = new OperateCommand(ary);

oc.operate(asp); oc.operate(aes); } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分

~~~b

编写程序求解1!+2!+3!+??+10!的值,并在屏幕上输出,要求用递归的方法求一个数的阶乘。 ~

参考程序如下: public class 阶乘和 {

public class 阶乘和 { public long f(int n){

}

if(n==1)

return 1; else

return n*f(n-1);

public static void main(String[] args) {

阶乘和 m=new 阶乘和(); long sum=0;

}

for(int i=1;i<11;i++){ }

sum+=m.f(i);

System.out.println(\的阶乘和为:\+sum); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分。

~~~b

有四本书,书名分别为“Java2核心技术”,\应用程序设计基础教程\案例开发大全\大学教程\。要求编写程序,将这四本书的名字每隔一秒钟动态的输出在屏幕上。 ~

参考程序如下:

public class 动态输出 { public static void main(String[] args) { String[] s={\核心技术\应用程序设计基础教程\案例开发大全\

大学教程\ Thread t=new MyThread4(s); t.start(); } }

class MyThread4 extends Thread{ private String[] s; public MyThread4(String[] s){ this.s=s; } public void run(){ for(int i=0;i

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分。 ~~~b

当用户输入的数据中有小写的字母时,自动转换为大写字母。编写程序完成该功能。 ~

参考程序如下: import java.io.*;

import java.util.Scanner;

public class 小写转换大写 { public static void main(String[] args) { }

}

Scanner sc=new Scanner(System.in); String s;

System.out.println(\请输入一个字符串\); s=sc.next(); String s2=s.toUpperCase(); System.out.println(s2);

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

利用循环控制语句,输出如下所示数字塔。 1 1 22 22 333 333 4444 4444 55555 55555 666666 666666 7777777 7777777 88888888 88888888 999999999999999999 ~

参考程序如下: public class 数字塔 { public static void main(String[] args) { for(int i=1;i<=9;i++){ for(int k=1;k<=i;k++) System.out.print(i); for(int j=2*(9-i);j>=1;j--) System.out.print(\ for(int k=1;k<=i;k++) System.out.print(i); System.out.println(); } } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

双色球福利彩票的摇奖规则是从号码为1-33的红色球中随机选取六个,从号码为1-16的蓝色球中随机选取一个组成号码。编写程序,模拟双色球福利彩票开奖号码生成过程。 ~

参考程序如下:

public class 双色球模拟 { public static void main(String[] args) {

String s=\; int red=0; int blue=0;

for(int i=0;i<6;i++){ }

red=(int)(Math.random()*33)+1; s+=red+\;

}

blue=(int)(Math.random()*16)+1; s+=blue;

System.out.println(\本次双色球福利彩票开奖号码为:\+s); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写程序,要求用递归的方法求解表达式1×2+2×3+3×4+4×5+5×6+6×7+7×8+8×9+9×10的值,并将结果按格式1×2+2×3+3×4+4×5+5×6+6×7+7×8+8×9+9×10=330形式输出。 ~

参考程序如下:

public class 表达式值 { //递归方法 public static int fn(int n){ int result; if(n==1) result=2; else result=fn(n-1)+2*n; return result; } public static void main(String[] args) { int sum=0,i; for(i=1;i<9;i++){ System.out.print(i+\ sum+=fn(i); } System.out.print(i+\ } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写程序,利用循环控制语句输出如下数字金字塔图形。 1

2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6

7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ~

参考程序如下: public class 金字塔 { public static void main(String[] args) { int row=9; for(int i=1;i<=row;i++){ for(int j=row;j>=i;j--){ System.out.print(\ \ } for(int k=i;k>=1;k--){ System.out.print(i<10?\ } for(int l=2;l<=i;l++){ System.out.print(i<10?\ } System.out.println(); } } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~c

编写程序,利用线程模拟一段时间内(3分钟)交通信号灯的运行状况,红灯亮10秒,绿灯亮30秒,黄灯亮3秒。 ~

参考程序如下: /**

* 显示一个时段内信号灯的运行状况。 */

class MyThread3 implements Runnable { private String[] s; public MyThread3(String[] s){ this.s=s; } public void run(){ int count=0; long startTime=System.currentTimeMillis(); long endTime=System.currentTimeMillis();

while(endTime-startTime<180000){ try{ if(s[count%s.length].equals(\绿灯\ System.out.println(\绿灯亮\ Thread.currentThread().sleep(30000); } if(s[count%s.length].equals(\红灯\ System.out.println(\红灯亮\ Thread.currentThread().sleep(10000); }

if(s[count%s.length].equals(\黄灯\

System.out.println(\黄灯亮\ Thread.currentThread().sleep(3000); } count++; endTime=System.currentTimeMillis(); }catch(Exception e){ e.printStackTrace(); } } } }

class TestMyThread3 { public static void main(String[] args){ String[] s={\绿灯\红灯\黄灯\ Thread t=new Thread(new MyThread3(s)); t.start(); } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~c

从键盘输入一串字符串,运行程序,将首字母变为大写,其它小写。编写程序,完成上述功能。 ~~~c

输出下列形式的方阵。 0 0 0 0 0 1 1 1 0 1 2 2 0 1 2 3

~

参考程序如下: public class Phalanx {

public static void main(String args[]) {

int n=4; //阶数 for (int i=0;i

for (int j=0;j

System.out.print(\ \ System.out.println(); } } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

输出下列形式的数字三角阵(当n=4时)。 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 ~

参考程序如下: public class Tower {

public static void main(String args[]) {

int n=4; //行数 for (int i=1;i<=n;i++) {

for (int j=1;j<=n-i;j++) //前导空格 System.out.print(\ \ for (int j=1;j<=i;j++)

System.out.print(\ \ for (int j=i-1;j>0;j--)

System.out.print(\ \ System.out.println(); } } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

输入三个整数,请把这三个数由小到大输出。 ~

参考程序如下:

import java.util.Scanner;

public class 三整数由小到大输出 { public static void main(String[] args) {

int i,j,x,k;

Scanner sc = new Scanner(System.in); System.out.print(\请输入三个整数:\\n\); i=sc.nextInt(); j=sc.nextInt(); k=sc.nextInt();

if(i>j) {x=i; i=j; j=x;} if(i>k) {x=i; i=k; k=x;} if(j>k) {x=j; j=k; k=x;}

}

System.out.println(\三个整数由小到大输出为\+i+\+j+\

\+k);

}

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大? ~

参考程序如下:

public class 第五个人多大 { public static void main(String[] args) {

int a,b,c,d,e; a=10;

}

b=a+2; c=b+2; d=c+2; e=d+2;

System.out.println(\第五个人年龄为:\+e); }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

定义一个数组,要求通过键盘录入数组的长度和数组中各个元素的值,把最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 ~

参考程序如下: import java.util.*; public class EX16 { public static void main(String[] args) { int i, min, max, n, temp1, temp2; int a[]; System.out.println(\输入数组的长度:\ Scanner keyboard = new Scanner(System.in); n = keyboard.nextInt(); a = new int[n]; for (i = 0; i < n; i++) { System.out.print(\输入第\个数据\ a[i] = keyboard.nextInt(); } max = 0; min = 0; // 设置两个标志,开始都指向第一个数 for (i = 1; i < n; i++) { if (a[i] > a[max]) max = i; // 遍历数组,如果大于a[max],就把他的数组下标赋给max if (a[i] < a[min]) min = i; // 同上,如果小于a[min],就把他的数组下标赋给min } // 以上for循环找到最大值和最小值,max是最大值的下标,min是最小值的下标 temp1 = a[0]; temp2 = a[min]; // 这两个temp只是为了在交换时使用 a[0] = a[max]; a[max] = temp1; // 首先交换a[0]和最大值a[max] if (min != 0) { // 如果最小值不是a[0],执行下面

a[min] = a[n - 1];

a[n - 1] = temp2; // 交换a[min]和a[n-1] } else { // 如果最小值是a[0],执行下面 a[max] = a[n - 1]; a[n - 1] = temp1; } for (i = 0; i < n; i++) { // 输出数组 System.out.print(a[i] + \ } } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

定义一个Person类,它包括的私有属性有“姓名”和“性别”,还有构造方法和设置和返回Person对象的“姓名”和“性别”的方法。为Person类派生出一个子类Student类,为Student子类添加两个私有属性年龄和成绩等级(用A,B,C,D,E表示),在子类中打印出学生的姓名、性别、年龄及成绩等级。编写一个测试类,创建一个Student类对象,输出学生的各项信息。 ~

参考程序如下: class Person{ private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } Person(String name,String sex){ this.name=name; this.sex=sex; } public String toString(){ String s=name+\ return s;

} }

class Student extends Person{ private int age; private char grade; Student(String name,String sex,int age,char grade){ super(name,sex); this.age=age; this.grade=grade; } void print(){ String s=super.toString()+\ System.out.println(s); } }

public class TestP{ public static void main(String[] args){ Student st=new Student(\ st.print(); } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

定义重载的两个方法,实现两个数字的求和,输入的数字可以是double型或int型。编写测试类进行测试。 ~

参考实例程序如下:

public class 重载 { public static void main(String[] args) { }

int s1=add (1,2);

double s2= add (1.2,2.3);

System.out.println(\型数字和为:\+s1);

System.out.println(\型数字和为:\+s2); }

public static int add (int x,int y) {

return x + y;}

public static double add(double x,double y) {return x + y;}

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

按如下要求编写代码:

1)编写Animal接口,接口中定义sleep()方法。

2)Cat类和Pig类分别实现Animal接口的方法,Cat类打印“猫晚上睡觉”,Pig类打印“猪整天睡觉”。

3)编写测试类AnimalTest,创建一个Animal类型的长度10的数组,包含6只猫,4只猪,分别调用sleep()方法。 ~

参考程序如下: interface Animal { void sleep(); }

class Cat implements Animal { public void sleep() { System.out.println(\猫晚上睡觉\ } }

class Pig implements Animal { public void sleep() { System.out.println(\猪整天睡觉\ } }

public class AnimalTest { public static void main(String[] args) { Animal[] animals=new Animal[10]; for(int i=0; i<6; i++){ animals[i]=new Cat(); } for(int i=6; i<10; i++){ animals[i]=new Pig(); } for(int i=0; i

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写一个字符界面的Java Application 程序,接受用户从键盘输入的一个正整数,如果输入的数据不是正整数,要求再重新输入,直到输入的是正整数,然后统计并输出从1到这个正整数的累加和。 ~

参考示例程序如下:

import java.util.Scanner;

public class 正整数累加 { public static void main(String[] args) {

int n = 0, sum = 0; Scanner sc = null; while (true) {

System.out.println(\请输入一个正整数:\); try {

sc = new Scanner(System.in); n = sc.nextInt();

} catch (Exception e) {

System.out.println(\输入错误,不是整数,请重新输入!\); }

if (n > 0){

break;}

System.out.println(\输入的不是正整数,请重新输入!\);} if (n < 0){

} }

for (int i = 1; i <= n; i++) {

sum += i;

}

System.out.println(\到\+n+\的累加和是\+sum);}

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

如果10以下的自然数中,是3或5的倍数的有3,5,6,9,那么它们的和是23。 求1000以下的所有3或5的倍数的自然数的和。 ~

参考示例程序如下:

public class EulerProblem1 { public static void main(String[] args) { int sum=0; for(int i=1; i<1000; i++){ if(i%3==0 || i%5 == 0){ sum += i; } } System.out.println(\ } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分 ~~~b

编写程序,模拟三个监考老师同时分发80份试卷,每个老师相当于一个线程。

例如,程序输出如下: 老师2:发送第80份试卷 老师1:发送第79份试卷 老师3:发送第78份试卷 老师2:发送第77份试卷 老师3:发送第76份试卷 ...

老师2:发送第1份试卷 ~

参考程序如下:

public class SendAssignment implements Runnable{ private int assignment =80; public void run() { while(true){ try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } synchronized(this){ if(assignment>0) System.out.println(Thread.currentThread().getName()+\发\份试卷\ else break; } } } public static void main(String[] args) { SendAssignment sendAssignment=new SendAssignment(); new Thread(sendAssignment,\老师1\ new Thread(sendAssignment,\老师2\ new Thread(sendAssignment,\老师3\ } }

评分标准:

1、写出能完成题目要求功能的、可正常运行的java程序,给满分,否则0分

送第

本文来源:https://www.bwwdw.com/article/vh57.html

Top