⑴ 我需要一个用java编写的程序:集合的并、交和差运算。不知道你能不能帮我,谢谢!!!
import java.util.LinkedHashSet;
import java.util.Set;
public class Muster {
// 定义并集存储对象
private Set<Character> unite = new LinkedHashSet<Character>();
// 定义交集存储对象
private Set<Character> intersection = new LinkedHashSet<Character>();
// 定义a-b差集存储对象
private Set<Character> differenceA2B = new LinkedHashSet<Character>();
// 定义b-a差集存储对象
private Set<Character> differenceB2A = new LinkedHashSet<Character>();
/**
* 计算每个集合
* @param muster1
* @param muster2
*/
public Muster(String muster1, String muster2) {
//把非26个英文字母全替换成空串
muster1 = muster1.replaceAll("[^a-zA-Z]", "");
muster2 = muster2.replaceAll("[^a-zA-Z]", "");
//循环第一个集合
for(Character temp : muster1.toCharArray()) {
//添加并集
unite.add(temp);
if(muster2.indexOf(temp) >= 0) {
//如果集合2中存在当前元素,在交集中追加记录
intersection.add(temp);
} else {
//如果集合2中不存在当前元素,在第一个集合与第二个集合的差集添加记录
differenceA2B.add(temp);
}
}
//循环第二个集合
for(Character temp : muster2.toCharArray()) {
//添加并集
unite.add(temp);
if(muster1.indexOf(temp) >= 0) {
//如果集合1中存在当前元素,在交集中追加记录
intersection.add(temp);
} else {
//如果集合1中不存在当前元素,在第二个集合与第一个集合的差集添加记录
differenceB2A.add(temp);
}
}
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
//创建实例,并且给出2个结果集
Muster muster = new Muster("magazine", "paper");
//输出并集
System.out.println("unite\t" + muster.getUnite());
//输出交集
System.out.println("intersection\t" + muster.getIntersection());
//第一个集合与第二个集合的差集
System.out.println("differenceA2B\t" + muster.getDifferenceA2B());
//输出第二个集合与第一个集合的差集
System.out.println("differenceB2A\t" + muster.getDifferenceB2A());
System.out.println("--------------------------------------------------------------------------------");
//第二个例子
muster = new Muster("012oper4a6tion89", "error data");
//输出并集
System.out.println("unite\t" + muster.getUnite());
//输出交集
System.out.println("intersection\t" + muster.getIntersection());
//第一个集合与第二个集合的差集
System.out.println("differenceA2B\t" + muster.getDifferenceA2B());
//输出第二个集合与第一个集合的差集
System.out.println("differenceB2A\t" + muster.getDifferenceB2A());
}
public String getUnite() {
return getStringBySet(unite);
}
public String getIntersection() {
return getStringBySet(intersection);
}
public String getDifferenceA2B() {
return getStringBySet(differenceA2B);
}
public String getDifferenceB2A() {
return getStringBySet(differenceB2A);
}
private String getStringBySet(Set<Character> set) {
StringBuffer result = new StringBuffer();
for(Character c : set) {
result.append(c);
}
return result.toString();
}
}
打印结果:
unite magzinepr
intersection ae
differenceA2B mgzin
differenceB2A pr
--------------------------------------------------------------------------------
unite operatind
intersection oerat
differenceA2B pin
differenceB2A d
注:Set集合是去除重复记录的,所以不怕加的多,反正存不进去。LinkedHashSet实例是保证顺序不变,这样执行多少遍结果一样,看着舒服。
⑵ 如何在JAVA中实现两个集合的交和并
list1 list2//拿两个集合举例
List list3=new ArrayList();
for(int i=0;i<list1.size();i++)
{
for(int j=0;j<list2.size();j++)
{
if(list1.get(i)==list2.get(j)||list.get(i).equals(list2.get(j)))
list3.add(list1.get(i));
break;
}
}//循环后的list3就是交集
List list3=new ArrayList();
for(int i=0;i<list1.size();i++)
{
for(int j=0;j<list2.size();j++)
{
if(list1.get(i)==list2.get(j)||list.get(i).equals(list2.get(j)))
{list3.add(list1.get(i)); continue;}
list3.add(list1.get(i));
list3.add(list2.get(j));
}
}//这个list3就是并集
⑶ 如何用java编写一个,手动输入10个分数,去掉一个最高分,去掉一个最低分,并把剩余的数求平均值的的
输出结果图:
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.List;
importjava.util.Scanner;
publicclassxxx{
publicstaticvoidmain(String[]args){
System.out.println("请输入10个数字,以逗号隔开:");
Scannerscanner=newScanner(System.in);
Stringinput=scanner.next();
//将输入的数字按照","分割成数组
String[]numStrs=input.split(",");
List<Integer>nums=newArrayList<Integer>();
//将数组的数字放入集合list中方便排序和取出最大最小数
for(inti=0;i<numStrs.length;i++){
nums.add(Integer.parseInt(numStrs[i]));
}
Collections.sort(nums);
System.out.println("从小往大排序后:"+nums);
nums.remove(0);
nums.remove(nums.size()-1);
System.out.println("去掉最小数和最大数后:"+nums);
doubleavg=0d;
intsum=0;
//求出剩下数字的总和
for(inti=0;i<nums.size();i++){
sum+=nums.get(i);
}
//求平均值(总和/剩下数字的个数)
avg=sum/(nums.size());
System.out.println("["+nums+"]的平均数为:"+avg);
}
}
⑷ java,如何实现定义一个整形数组并实现求和和求平均的程序
不知道你的平均数要不要取整 下面是比较懒得做法:
publicstaticvoidmain(String[]args)throwsException{
inta[]={1,2,3,4,5,6,7,112};
inttmp=0;
for(intb:a){
tmp+=b;
}
System.out.println("和:"+tmp);
System.out.println("平均:"+tmp/a.length);
}
再给你一个看上去好点的:
publicclassMyMath{
int[]array;
intsum;
floataverage;
publicMyMath(){
//懒得写了
}
publicMyMath(int...a){
array=newint[a.length];
intindex=0;
sum=0;
for(intb:a){
array[index++]=b;
sum+=b;
}
average=(float)sum/a.length;
}
publicint[]getArray(){
returnarray;
}
publicintgetSum(){
returnsum;
}
publicfloatgetAverage(){
returnaverage;
}
publicstaticvoidmain(String[]args){
MyMathm=newMyMath(1,2,3,4,5,6,7,8);
int[]result=m.getArray();
System.out.println(m.getSum());
System.out.println(m.getAverage());
}
}
⑸ java具体是什么意思
Java简介 Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。 Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1.x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.6。 Java分为三个体系JavaSE,JavaEE,JavaME。 Java语言 Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下: 1) Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 2) Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。 3) Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 4) Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。 5) Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6) Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7) Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。 8) Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。 9) Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。 10) Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。 11) Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。 1) JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。 2) EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。 3) Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。 4) Java IDL(Java Interface Definition Language) 提供与CORBA(Common Object Request Broker Architecture)的无逢的互操作性。这使得Java能集成异构的商务信息资源。 5) JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无逢的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。 6) JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。 7) JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。 8) JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。 在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。
⑹ 使用Java编写一个程序,使其从键盘上读取三个整数,并求和!
import java.util.Scanner; public class TIS {
public static void main(String[] args) {
int sum = 0;
Scaner scan = new Scanner(System.in); // 读取三个整数,并相加
sum += scan.nextInt();
sum += scan.nextInt();
sum += scan.nextInt(); // 输出 和
System.out.println(sum);
}
}
⑺ java 如何调用一个已经存在的静态库,并输入和获取参数! 例如:静态库中已经存在函数 ret=ys_tpcall(aa);
给出一个windows下dll的实例。linux下.a的静态库只是头文件和编译有所不同,另外需要将编译后的动态库文件放入/usr/lib下,使用ldconfig载入。
一 先制作一个系统中有的DLL文件(cpp给出的sdk接口)
既然是测试我们就把我们这个dll叫做testDll吧,为了简单其间,我只写一个add方法,就是简单的2个数字相加,对于真正的开发中我们肯定会遇到其他类型,java到c/cpp中类型需要转换,具体类型转换对应关系g一下就能得到,我也不在列举。c/cpp中一个class一般包含2个文件,一个头文件定义(*.h),一个文件主体(*.c/*.cpp)。啰嗦了这么多还是直接动手吧,先在vs2008中建立一个工程(当然你也可以直接编写不用这些IDE工具,gcc g++的命令自己g。下同,不在注释不在废话),选取win32工程
键入工程名字testDll,点击next选取DLL,然后点击完成
打开我们的testdll.cpp,添加进我们的add方法
C++代码
1.int add(int a,int b){
2. return a+b;
3.}
int add(int a,int b){
return a+b;
}
注意到文件列表里并没有testDll.h,因为我们要给出调用者一个接口,如果不给头文件,人家就没办法调用,所以我们就必须添加一个头文件testDll.h。
C++代码
1.#ifdef TEST_DLL
2.#define TEST_API __declspec(dllexport)
3.#else
4.#define TEST_API __declspec(dllimport)
5.#endif
6.
7./* Set up for C function definitions, even when using C++ */
8.#ifdef __cplusplus
9.extern "C" {
10.#endif
11.
12.TEST_API int add(int,int);
13.
14./* Ends C function definitions when using C++ */
15.#ifdef __cplusplus
16.}
17.#endif
#ifdef TEST_DLL
#define TEST_API __declspec(dllexport)
#else
#define TEST_API __declspec(dllimport)
#endif
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
extern "C" {
#endif
TEST_API int add(int,int);
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
}
#endif
在这个头文件中我们把我们的add方法给定义了进去。注意到testdll.cpp中#include "stdafx.h",所以我们就把这个testDll.h include进stdafx.h里面。
按道理说我们的这个dll已经完成了,但是一般c/cpp给接口SDK的时候大都给.h和.lib,为了一步生成dll和lib,我们添加进一个testDll.def,有了这个文件就可以一步生成dll和lib。在source file里右键add new item ,选择Mole-Definition File
键入testDll,OK了,我们可以直接build了。生成testDll.dll和testDll.lib。
把testDll.dll扔到system32目录里等待我们高大威猛的java jni调用。
二 JNI
2.1 编写java文件
为了显示我们的与众相同,我们就把我们的这个java文件命名为Demo.java顺便直接带上包名
,因为我们知道人家给我们的接口里有个add方法,所以我们就直接来个调用吧。
Java代码
1.package com.testJni.testDemo;
2.
3.public class Demo {
4. static
5. {
6. //System.out.println(System.getProperty("java.library.path"));
7. System.loadLibrary("testDll");
8. System.loadLibrary("jniDll");
9. }
10. public native static int add(int a,int b);
11.
12.}
package com.testJni.testDemo;
public class Demo {
static
{
//System.out.println(System.getProperty("java.library.path"));
System.loadLibrary("testDll");
System.loadLibrary("jniDll");
}
public native static int add(int a,int b);
}
demo.java代码暂时如此,我们把将要生成的jni的dll叫做jniDll,有童鞋讲,我不想用你这个烂名字jniDll多俗啊,没关系,你可以换,随你换,生成文件后你再换也可以,现在换也可以。
2.2 生成.h头文件
javah命令,不多讲。生成的文件com_testJni_testDemo_Demo.h这个文件的命名规则我就不多讲了,一目了然。
C++代码
1./* DO NOT EDIT THIS FILE - it is machine generated */
2.#include <jni.h>
3./* Header for class com_testJni_testDemo_Demo */
4.
5.#ifndef _Included_com_testJni_testDemo_Demo
6.#define _Included_com_testJni_testDemo_Demo
7.#ifdef __cplusplus
8.extern "C" {
9.#endif
10./*
11. * Class: com_testJni_testDemo_Demo
12. * Method: add
13. * Signature: (II)I
14. */
15.JNIEXPORT jint JNICALL Java_com_testJni_testDemo_Demo_add
16. (JNIEnv *, jclass, jint, jint);
17.
18.#ifdef __cplusplus
19.}
20.#endif
21.#endif
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_testJni_testDemo_Demo */
#ifndef _Included_com_testJni_testDemo_Demo
#define _Included_com_testJni_testDemo_Demo
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_testJni_testDemo_Demo
* Method: add
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_com_testJni_testDemo_Demo_add
(JNIEnv *, jclass, jint, jint);
#ifdef __cplusplus
}
#endif
#endif
2.3 用c/cpp实现这个头文件
c/cpp中已经实现了这个add方法,我们只需要调用就可以啦。所以直接vs2008中建立一个dll工程,工程名我们就叫jniDll,具体过程不再多讲,方法同上面testDll的建立一样。在这个工程里kimmking把需要引用的包、文件等已经讲的很清楚了。打开jniDll.cpp,添加下面代码
C++代码
1.JNIEXPORT jint JNICALL Java_com_testJni_testDemo_Demo_add
2.(JNIEnv *env,jclass jobject,jint a,jint b){
3.
4. return add(a,b);
5.}
JNIEXPORT jint JNICALL Java_com_testJni_testDemo_Demo_add
(JNIEnv *env,jclass jobject,jint a,jint b){
return add(a,b);
}因为int对应的类型就刚好是jint,所以就不需要转换,其他需要转换的类型自己g对应关系转换,注意释放。
这个工程里我们还需要打开 stdafx.h添加
C++代码
1.#include <jni.h>
2.
3.#include "testDll.h"
4.#include "com_testJni_testDemo_Demo.h"
#include <jni.h>
#include "testDll.h"
#include "com_testJni_testDemo_Demo.h"
在编译这个jniDll工程的时候需要引入testDll.h,com_testJni_testDemo_Demo.h,另外添加testDll.lib这个依赖。
好了做好这些后,build下,生成了我们期待已久的jniDll.dll,把这个dll同样扔到system32下。
三 测试
本人特懒,不想写多余的class,所以直接修改Demo.java 这也是刚才为什么讲暂时如此的原因
Java代码
1.package com.testJni.testDemo;
2.
3.public class Demo {
4. static
5. {
6. //System.out.println(System.getProperty("java.library.path"));
7. System.loadLibrary("testDll");
8. System.loadLibrary("jniDll");
9. }
10. public native static int add(int a,int b);
11. public static void main(String[] args) {
12. System.out.println(add(7,2));
13. }
14.}
package com.testJni.testDemo;
public class Demo {
static
{
//System.out.println(System.getProperty("java.library.path"));
System.loadLibrary("testDll");
System.loadLibrary("jniDll");
}
public native static int add(int a,int b);
public static void main(String[] args) {
System.out.println(add(7,2));
}
}
四 最后补充
如果系统已经加载过c/cpp的dll,我们就不用再System.loadLibrary("testDll")了,加载一遍就可以了,因为我们刚才写的testDll系统没有加载,所以我就加载了一下。对于多个dll可以写多个System.loadLibrary去加载,修改static{}里面的内容不需要重新生成dll,除非你多加了一个调用方法,如果你看清楚规则,就不用javah命令就可以直接编写头文件,用javah太麻烦了。
⑻ java 中|| 和 && 这类的符号都表示什么
&&和||是一种逻辑运算符,&&是逻辑与,当两个数都为真,则结果为真。||是逻辑或,两个数任意一个为真,则结果为真。
举个例子:
1、a && b
当a、b都为真时,结果为真。有一个为假或者都为假时结果为假。
2、a || b
当a、b有一个为真时,结果为真。a、b都为假时结果为假。
(8)java并法库扩展阅读:
在java中还有其他的逻辑符号,比如:!、|、 &
“!”是非运算符号,比如a为真,则!a则为假。a如果为假,则!a为真。
而“|”也是逻辑或,“&”也是逻辑与,但是他们与“||”和“&&”有些区别,区别如下:
“&”与“|”无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断。
“&&”与“||”,前者第一个条件不成立,后面的条件均不进行判断,返回false;后者第一个条件成立,后面的条件均不进行判断,返回true。
⑼ java 用数组的方式接收用户输入的数 并输出数组 求怎么实现
publicclassUtil{
publicstaticvoidmain(String[] args){
java.util.Scannersc=newjava.util.Scanner(System.in);
String[] arr =newString[5];
for(inti =0; i < arr.length; i++){
arr[i] = sc.next();
}
//这里使用util.Arrays的代码输出数组
System.out.println(java.util.Arrays.toString(arr));
}
}
java中接受用户输入的其他方法
package 控制台接受输入;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.Buffer;
import java.util.Scanner;
public class InputCode {
public static void main(String[] args) throws IOException {
/*
* Scanner类中的方法
* 完美
*/
Scanner input =new Scanner(System.in);
System.out.println("please input your name ");
String name=input.nextLine();
System.out.println(name);
/*
* 缺点:只能接受用户输入的一个字符
*/
System.out.println("enter your name");
char name1 = 0;
try {
//inputstream中的read()方法放回输入流中下一个字符
name1 = (char) System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(name1);
/*
* InputStreamReader和BufferedReader方法
* 优点:可以获取字符串
* 缺点:获取的是int或者string人需要强转
*/
//通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader
//包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,
//BufferedReader in= new BufferedReader(new FileReader("foo.in"));
System.out.println("enter your name");
InputStreamReader input1=new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(input1);
String name2=in.readLine();
System.out.println(name2);
}
}
⑽ Java问题
import java.util.Scanner;
public class T {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Student[] ary = new Student[10];
for(int i = 1; i <= 10; i++){
Student stu = new Student();
ary[i-1] = stu;
System.out.println("Please input student detail(Seqence " + (i+1) + "): ");
System.out.print("Please input student id: ");
stu.setId(scanner.nextInt());
System.out.print("Please input studnet name: ");
stu.setName(scanner.nextLine());
System.out.print("Please input student score: ");
stu.setScore(scanner.nextFloat());
}
//print all the inputted student information
for(int i = 0; i < ary.length; i++){
System.out.println(ary[i].toString());
}
}
}
class Student{
private String name;
private int id;
private float score;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}
public String toString() {
return "Student information: id = " + id + ", name = " + name + ", score = " + score;
}
}