❶ 5道简单的java编程题(高分悬赏)
很详细的帮你写下,呵呵,所以要给分哦!
1、
(1)源程序如下:
public class One {
public static void main(String[] args) {
String name = "张三";
int age = 23;
char sex = '男';
String myclass = "某某专业2班";
System.out.println("姓名:" + name);
System.out.println("姓名:" + age);
System.out.println("姓名:" + sex);
System.out.println("姓名:" + myclass);
}
}
(2)
编写完程序的后缀名是.java,如本题,文件名就是One.java。
开始\运行\cmd,进入“命令提示符窗口”,然后用javac编译器编译.java文件,语句:javac One.java。
(3)
编译成功后,生成的文件名后缀是.class,叫做字节码文件。再用java解释器来运行改程序,语句:java One
2、编写程序,输出1到100间的所有偶数
(1)for语句
public class Two1 {
public static void main(String[] args) {
for(int i=2;i<=100;i+=2)
System.out.println(i);
}
}
(2)while语句
public class Two2 {
public static void main(String[] args) {
int i = 2;
while (i <= 100) {
System.out.println(i);
i += 2;
}
}
}
(3)do…while语句
public class Two3 {
public static void main(String[] args) {
int i = 2;
do {
System.out.println(i);
i += 2;
}while(i<=100);
}
}
3、编写程序,从10个数当中找出最大值。
(1)for循环
import java.util.*;
public class Three1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number;
int max = 0;
for (int i = 0; i < 10; i++) {
System.out.print("输入第" + (i + 1) + "个数:");
number = input.nextInt();
if (max < number)
max = number;
}
System.out.println("最大值:" + max);
}
}
(2)while语句
import java.util.*;
public class Three2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number;
int max = 0;
int i = 0;
while (i < 10) {
System.out.print("输入第" + (i + 1) + "个数:");
number = input.nextInt();
if (max < number)
max = number;
i++;
}
System.out.println("最大值:" + max);
}
}
(3)do…while语句
import java.util.*;
public class Three3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number;
int max = 0;
int i = 0;
do {
System.out.print("输入第" + (i + 1) + "个数:");
number = input.nextInt();
if (max < number)
max = number;
i++;
}while(i<10);
System.out.println("最大值:" + max);
}
}
4、编写程序,计算从1到100之间的奇数之和。
(1)for循环
public class Four1 {
public static void main(String[] args) {
int sum=0;
for(int i = 1;i<=100;i+=2){
sum+=i;
}
System.out.println("1~100间奇数和:" + sum);
}
}
(2)while语句
public class Four2 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i += 2;
}
System.out.println("1~100间奇数和:" + sum);
}
}
(3)do…while语句
public class Four3 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
do {
sum += i;
i += 2;
} while (i <= 100);
System.out.println("1~100间奇数和:" + sum);
}
}
5、
(1)什么是类的继承?什么是父类?什么是子类?举例说明。
继承:是面向对象软件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。另外,为子类追加新的属性和方法也是常见的做法。继承需要关键字extends。举例:
class A{}
class B extends A{}
//成员我就不写了,本例中,A是父类,B是子类。
(2)编写一个继承的程序。
class Person {
public String name;
public int age;
public char sex;
public Person(String n, int a, char s) {
name = n;
age = a;
sex = s;
}
public void output1() {
System.out.println("姓名:" + name + "\n年龄:" + age + "\n性别:" + sex);
}
}
class StudentPerson extends Person {
String school, department, subject, myclass;
public StudentPerson(String sc, String d, String su, String m, String n,
int a, char s) {
super(n, a, s);
school = sc;
department = d;
subject = su;
myclass = m;
}
public void output2() {
super.output1();
System.out.println("学校:" + school + "\n系别:" + department + "\n专业:"
+ subject + "\n班级:" + myclass);
}
}
public class Five2 {
public static void main(String[] args) {
StudentPerson StudentPersonDemo = new StudentPerson("某某大学", "某某系别",
" 某专业", "某某班级", " 张三", 23, '男');
StudentPersonDemo.output2();
}
}
❷ JAVA考试题
1、请问 ”2” 、’2’、2之间有什么不同?并回答下面程序的输出结果是什么? (提示:‘2’的ASCII码值是50 )(8分)
答:"2"是字符串,'2'算字符。2是数字。
class test
{
public static void main(String[] args)
{
int a=2;
int b='2';
System.out.println (a+a);
System.out.println (a+b);
}
} 输出结果为:4
52
2、你认为java、C、C++他们之间有没有联系和区别?和C、C++相比,java有哪些优点?(10分)
答:java是以c及c++为基础的。许多地方沿用了它们的思想。但最主要的,java是完全面向对象的编程,而c是面向过程,c+则不完全是面向对象。java相对说来,编程更方便,安全,结构,模块化强,易于移植,跨平台性好等。
3、下面两段代码具有多处错误,请找出你认为错误的地方,作上标记,并说明为何出错。如果你认为该行没有错误,请打上√ (12分)
i)public int search (int 错[10] number) 1、 引用时只能是类型不能带值{
number错 = new int[10]; 2、 数组没有下标
for (int i=0;i<number.length;i++) 3、对
{
number[i]=number[i-1]+number[i+1]错; 4、数组在i+1在i=number.length-1是超界
return number; 5、对
}
}
ii)
class MyclassOne
{
public final int A=365;
public int b;
private float c;
private void myMethodOne(int a)
{
b=a;
}
public float myMethodTwo()
{
return 36;
}
}
class MyClassMain
{
public static void main(String[] args)
{
MyClassOne w1=new MyClassOne();
w1.A=12; 6、错误,试图给final型再次赋值
w1.b=12; 7、对Myclassone中b赋值
w1.c=12; 8、对myclassone float c赋值
w1.myMethodOne(12); 9、调用myclassone的mymethodone形参为int的方法,
w1.myMethodOne(); 10、调用myclassone的mymethodone无形参的方法System.out.println(w1.myMethodTwo(12)); 11、输出myclassone的mymethodtwo(12)值
w1.c=w1.myMethodTwo(); 12让c引用mymethodtwo方法
}
}
请简要说明下面程序的功能
1) public class Sum ( 5分 )
{ public static void main( String args[ ])
{ double sum = 0.0 ;
for ( int i = 1 ; i <= 100 ; i + + )
sum += 1.0/(double) i ;
System.out.println( "sum="+sum );
}
} 功能为 求出1/1+1/2+1/3+1/4….+1/100的和
程序设计:(10分)
编写一个java程序。要求该程序能够具有以下功能:
定义一个坐标类coord。坐标类coord必须满足如下要求:
a)coord类含有两部分数据:横坐标x和纵坐标y。x和y的类型都是int类型。
b)coord类的方法有:
coord( ) : 构造函数,将横坐标和纵坐标的值都赋值为0
coord( int x , int y ) : 构造函数,形参 x 为横坐标的初值,y为纵坐标的初值。
coord coordAdd(int x, int y) : 将当前坐标对象与形参的值相加,所得的结果仍是一个坐标,返回给此方法的调用者。
(提示:可以将两个坐标相加定义为横坐标和横坐标相加,纵坐标和纵坐标相加。例如(1,2)+(3,4)=((1+3),(2+4))=(4,6))
public class Coord {
int x=100;
int y=200;
public Coord(){
this.x=0;this.y=0;
}
public Coord(int x,int y) {
x=this.x;y=this.y;
}
void coordAdd(int x,int y){
this.x+=x;
this.y+=y;
}
public static void main (String[] args) {
}
}
程序设计:(10分)
请编写一个java程序,利用该程序计算并输出 1+2+3+……+100的值
Sum.java
public class Sum {
public Sum() {
int sum=0;
for(int i=1;i<=100;i++)
sum+=i;
System.out.println("1+2+3+...100="+sum);
}
public static void main (String[] args) {
new Sum();
}
}
OK??
❸ 五道java语言描述的数据结构编程题,请求给予详细解答
第一题:
//使用集合提供的工具方法
public static List<Integer> merge(List<Integer> a, List<Integer> b) {
//a,b not null
//全部放到一个set里面,使得元素合并
Set<Integer> set = new HashSet<Integer>(a);
set.addAll(b);
//将set里面的元素放到列表再转为数组
Integer[] array = new ArrayList<Integer>(set).toArray(new Integer[1]);
//升序排序
Arrays.sort(array);
//将排序后的数组转为list
return Arrays.asList(array);
}
//自己写的算法, a为升序列表,b为降序列表
public static List<Integer> merge2(List<Integer> a, List<Integer> b) {
//a,b not null
int aSize = a.size();
int bSize = b.size();
List<Integer> result = new ArrayList<Integer>();
int aIndex = 0;// 升序列表从首位开始
int bIndex = bSize - 1;// 降序列表从末尾开始
int aEl;
int bEl;
// 循环终止条件为: a 或者 b 列表遍历完
while (aIndex < aSize && bIndex >= 0) {
aEl = a.get(aIndex);
bEl = b.get(bIndex);
if (aEl < bEl) {
result.add(aEl);
aIndex++;
} else {
result.add(bEl);
bIndex--;
}
}
// 将某个未遍历完的列表中的元素添加到结果(包括了任意一个列表为空列表的情况)
if (aIndex < aSize) {
for (int i = aIndex; i < aSize; i++) {
result.add(a.get(i));
}
}
else if (bIndex > 0) {
for (int i = bIndex; i >= 0; i--) {
result.add(b.get(i));
}
}
return result;
}