ディレクトリ
A、Javaの基本的なトレーニング
1は、Javaで書かれたプログラムは、キーボードからdouble型華氏入力は、その後、出力摂氏に変換します。
package package1;
import java.util.*;
public class class1 {
public static void main(String[] args) {
// TODO Auto- generated method stub
Scanner in=new Scanner(System.in);
System.out.println("请输入华氏度: ");
double g=in.nextFloat();
double w=(5.0/9)*(g-32);
System.out.println(+g+"华氏度"+"对应的摄氏度为: "+w);
}
}
図2に示すように、キーボード入力からのプログラミングは、A、B、C値、及び下記式計算(Math.sqrt()メソッドと平方根)。
package package1;
import java.util.*;
public class class2 {
public static void main(String[] args) {
// TODO Auto- generated method stub
Scanner.gsq=new Scanner(System.in) ;
System.out.println("Please input the number of a,b,c : ");
int a=gsq.nextInt();
int b=gsq.nextInt();
int c=gsq.nextInt();
double result=(((-1)*b)+Math.sqrt(b*b-4*a*c))/(2*a);
if(b*b-4*a*c<0){
System.out.println("the number doesn't exit");
}e1se{
System.out.println("The result is : "+result);
}
}
}
3.整数で各桁の合計を0〜1000計算を読むためのプログラムを書きます。例えば、入力923は、加算の各桁の出力は14です。
package package1;
import java.util.*;
public class class3 {
public static void main(String[] args) {
// T0DO Auto- generated method stub
Scanner gg=new Scanner(System.in);
System.out.println("Please input the number between 0 and 1000: ");
int t=gg.nextInt();
while(t < 0 || t > 1000){
System.out.println("The number you input is invalid,please input again : ");
t=gg.nextInt();
int sum=0,i,a=t;
while(a!=0){
i=a%10;
a/=10;
sum+=i;
System.out.println(" the sum of”+t+”is "+sum);
}
}|
二、Javaおよび周期選択
図1は、プログラミングは、キーボードからのユーザ入力は、double型の数、整数部の出力及び数の小数部分を必要とします。
package package2;
import java.util.*;
public class class1 {
public static void main(String[] args) {
System.out.println( "请输入一-个double数值: ");
Scanner gg =new Scanner(System.in);
String a=gg.nextLine();
int tmp=a.index0f('.');
System.out.println( "整数部分为: "+a. substring(0, tmp));
System.out.println("小数部分为: "+a. substring(tmp+1));
}|
2、プログラミング、キーボード入力からの正の整数は、判定が奇数か偶数です。
package package2;
import java.util.*;
public class class2 {
publ1ic static void main(String[] args) {
// TODO Auto- generated method stub
System.out.print1n("请输入一个整数: ");
System.out.println();
Scanner gg = new Scanner(System.in);
int number = gg.nextInt();
if( (number&1) == 1){
System.out.println("您输入的是奇数!");
}else{
System.out.println("您输入的是偶数!");
}
}|
図3は、プログラミングは、ユーザ4が最大値と最小値を見つけるために、キーボードの正の整数からの入力を必要とし、前記印刷出力。
package package2; .
import java.util.*;
public class class3 {
public static void main(String[] args) {
int a[]=new int [4];
Scanner input = new Scanner(System.in);
System.out.println("Please input four numbers: ");
for (int i=0;i<4;i++)
a[i]=input.nextInt();
int min=a[0];
int max=a[0] ;
for int i=0; i<4;i++)
if (a[i]<min){
min=a[i];
}
if (a[i]>max){
max=a[i];
}
System.out.println("The max number is " +max);
System.out.println("The min number is " +min);
}
}
4、回文かどうかを決定する、1から9999の間の数を入力し、Javaアプリケーションを書きます。
package package2;
import java.util.*;
public class class4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner gg=new Scanner(System.in);
System.out.println("请输入1~9999之间的数字: ");
int a=gg.nextInt();
int b=0,c=0,d=a;
while(a!=0){
c=a%10; .
b=b*10+c;
a=a/10;
}
if(b==d){
System.out.println("该数为回文数! ");
}
else{
System.out.println("该数不是回文数! ");
}
5、最大公約数プログラムを達成するためのプログラムを書きます
package package2;
import java.util.*;
public class class5{
public static void main(String[] args) {
Scanner gg= new Scanner(System.in);
System.out.println("请输入两个整数: ");
int a=gg.nextInt();
int b=gg.nextInt();
for(int c=Math.max(a,b);c>=1;c--){
if(a%c==0 && b%c==0){
System.out.println(" 最大公约数为: "+c);
break ;
}
6.キーボードから月入力するユーザーを必要とするプログラムを書く年を入力すると、うるう年です。(4で割り切れるが、400で割り切れると100で割っすることはできません。次の2つの条件のいずれかに沿って、年はうるう年です)
package package2;
import java.util.*;
public class class6 {
public static void main(String[] args) {
Scanner gg = new Scanner(System.in);
System.out.println("请输入今夕是何年: ");
int y=gg.nextInt();
if((y%4==0 && y%100!=0) || y%400==0) {
System.out.println(y+"是闰年");
else
System.out.println(y+"不是闰年");
}
}
7、プログラミング、演算して出力7を有するか、または7の数との和の整数倍1-1000の間です。
package package2;
import java.util.*;
public class class7 {
public static void main(String[ ] args) {
int s=0,c=0;
for(int i=1;i<=1000;i++){
if(i%7==0||i%10==7||(i/100)%10==7||(i/10)%10==7){
S+=i;
C++;
System.out.println("1-1000之间含有7或者是7的倍数的整数之和及个数分别是"+s+","+c+"个");
}
}
三、Javaの配列の練習
1、10〜100の間のランダムな整数を生成します。配列内に堆積。アレイ、最小、平均、およびすべての配列要素の出力の最大値。
package package4;
public class class1;
public static void main(String[] args) {
int [] a=new int [10];
int sum=0, max=0, min=101;
System.out.println("随机生成的十个数字为: ");
for(int i=0;i<10;i++) {
a[i]=(int)(Math.random()*100)+1;//随机生成10个1-100的数
System.out.print(+a[i]+"、");
for(int i=0;i<10;i++) {
sum+=a[i];
if(a[i]<min) //比较最小值
min=a[i];
else if(a[i]>max)
max=a[i]; //比较最大值
System.out.println(“该数组中最大值为" +max+" ,最小值为“+min+" ,数值总和为"+sum+" ,平均值为"+(sum)/10.0);
}
}
2、プログラミング、アレイ、および0-100の間のランダムに生成された番号を定義している。それに割り当てられ、その項目を0削除され、新しいアレイの出力を。
package package4;
public class class3 {
public static void main(String[] args) {
// TODO Auto- generated method stub
int [] a=new int [7]; //定 义随机生成7个数
int k=0;
System.out.println("原来的数组为: ");
for(int i=0;i<a.length;i++) {
a[i]=(int) (Math. random()*100);
for(int i=0;i<a.length-k;i++) {
System.out.print(a[i]+" ");
}
for(int j=0;j<a.length;j++) {
if(a[j]==0) {
k++;
for(int t=j;t<a.length-1;t++)
a[t]=a[t+1];
}
System.out.println("\n重新生成的数组为: ");
for(int i=0;i<a.length-k;i++) {
System.out.print(a[i]+"“);
System.out.println("\n共去掉"+k+"个0值");
}
}
3、プログラミングは、次の機能を実行します。
アレイ20の整数に1)入力:
ソートされた配列2)の方法が使用バブルを出力昇順に番号20:
3)整数X、アレイとアレイ内のX. Xのインデックスを見つけるために出力バイナリ検索を入力し、出力を見つけることができません-1。
package package4;
import java.util.Scanner;
public class class2 {
public static void main(String[] args) {
int [] a=new int[20];//定 义数组存放20个数
int gg;
System.out.print1n("生成的数组为: ");
for(int i=0; i<a.length;i++) {
a[i]=(int)(Math.random()*100);//随机生成20个数
System.out.print(a[i]+" ");
//冒泡排序
for(int i=0; i<a.1ength-1;i++) {
for(int j=0;j<a.length-1-i;j++) {
if(a[j]>a[j+1])团
gg=a[j];
a[j]=a[j+1];
a[j+1]=gg;
}|
}
//输出排序后的数组
System.out.println("\n排序后的顺序: ");
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
//二分法查找X
int p=0,1=a.length-1, k=0;
Scanner in=new Scanner(System. in);
System.out.println("\n请输入一个0~100的整数: ");
int t=in.nextInt();
while(1>=0) {
k=(p+1)/2;
if(t<a[k])
1=k-1;
else if(t==a[k]) {
System.out.println("该数所处的位置为: a["+k+"]");
break;
}else
p=k+1;
if(t!=a[k])
System.out.println( -1);
}
}
そして、プログラムを実行するときに検出し、そして配列が属していないときのアレイに属する数を入力します。
四、Javaクラスとオブジェクトの実践
1、String型のメンバ変数とint型のメンバ変数が含まれている人と呼ばれるクラスの定義は、方法は、アクセスに定義されており、これらの二つの変数のための方法を変更しています。追加の方法は、クラスのために定義された後、そのメンバ変数の出力値の名前を話します。UMLクラス図を描き、クラスのすべてのメソッドをテストするためのプログラムを書きます。
(1)、UMLを以下に示します。
次のように(2)、調製手順は次のとおりです。
package package3;
import java.util.*;
public class person {
String name;
int height;
public String getName() {
return name ;
}
public void setName(String name) {
this.name = name; .
}
public int getheight() {
return height;
}
public void setheight(int height) {
this.height = height;
public void set(String name, int height){
this.name=name;
this.height=height;
}
public void speak(){
System.out.print(name+" "+height);
public static void main(String[] args) {
person a=new person() ;
a.set("王帅",178);
a.speak();
}
そのメンバ変数の2、サークルという名前のクラスの定義は、円周及び方法の円定義された領域を表す、定義し(コンストラクタを使用して)変更アクセス。UMLクラス図を描き、クラスのすべてのメソッドをテストするためのプログラムを書きます。
(1)以下に示すように、図UMLに示します:
(2)作成方法は、第一円クラスを作成し、コードを以下に示します:
package package3;
public class Circle {
private double r;
public double getR() {
return r;
public void setR(double r) {
this.r = r;
}
public void setArea() {
System.out.println("面积为"+3.14*r*r);
public void setLength() {
System.out.println("周长为"+2*3.14*r);
(3)以下のようにコードを呼び出すためにテスト出力クラスを作成します。
package package3;
public class test {
public static void main(String[] args) {
Circle c=new Circle();
c.setR(2);
System.out.println("半径为"+c.getR());
c.setArea();
C.setLength();|
}
}
(4)プログラムおよび検出を実行します。
図3は、円形サークルクラスの定義、方法および可変構築妥当を示す、シリンダという名前のクラスを定義するシリンダを表し、それはCircleクラスを継承する、請求項高さで定義された変数は、シリンダーの高さを表しています。被覆のgetArea()メソッドシリンダ表面積getVolume()メソッドのシリンダ容積を定義しました。建設メソッドとコンストラクタは、2つのデフォルトパラメータを半径と高さを定義しました。書き込み試験プログラムは、シリンダの半径と高さの丸い基部をユーザに促し、プログラムは、円筒形のオブジェクトを作成し、計算されたシリンダ容積および表面積を出力します。UMLのクラスと絵との関係。
(1)図UMLに示します:
(2)親Circleクラスの調製は、次の通り:
package day1;
import java.util.Scanner;
public class Circle {
double radius;
public double area() {
return radius*radius*3.14;
}
public double getRadius() {
return radius;
}
public void setRadius() {
System.out.println("请输入底面面的半径:");
Scanner sc =new Scanner(System.in);
radius=sc.nextDouble();
}
}
下に示すように、(3)親クラスのサブクラスの調製は、シリンダサークルクラス、特定のコードを継承します。
package day1;
import java.util.Scanner;
public class Cylinder extends Circle {
double height;
public double getLength() {
return 2*3.14*radius;
}
public double getVolume() {
return height*area();
}
public double getArea() {
return 2*area()+height*getLength();
}
public double getHeight() {
return height;
}
public void setHeight() {
System.out.println("请输入圆柱的高:");
Scanner sc =new Scanner(System.in);
height=sc.nextDouble();
}
public static void main(String[] args) {
Cylinder a=new Cylinder();
a.setRadius();
a.setHeight();
System.out.println("圆柱的表面积为:"+a.getArea());
System.out.println("圆柱的体积为:"+a.getVolume());
}
}
(4)コードおよび検出を実行します。
4、継承の使用と派生クラスの生徒と教師がファイルを管理します。あなたがデータの一部は、人員の次のカテゴリを以下の管理するとします。
教師(教師)クラス:カリキュラムとして名前、性別、年齢、役職、;
学生(学生)カテゴリ:氏名、性別、年齢、学校、学部、
gradstudent(大学院生)カテゴリ:氏名、性別、年齢、学校、学部、家庭教師。
各クラスは、唯一のクラス・オブジェクト・データの表示コンストラクタとメンバ関数を設定する必要があります。メイン関数、クラスオブジェクトの記述、およびその簡単なテストクラスのメンバ関数を書きます。UMLのクラスと絵との関係。
(1)図UMLに示します:
(2)次のように親クラスPersonクラスコードの調製:
package day1;
public class Person {
public String name;
public String sex;
public int age;
public void showInfo() {
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("年龄:"+age);
}
}
(3)製造教師クラス継承クラス人、コードを次のように:
package day1;
public class Teacher extends Person{
String name="王刚";
String sex="男";
int age=23;
String job="班主任";
String project="软件工程";
public void showInfo() {
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("年龄:"+age);
System.out.println("职称:"+job);
System.out.println("担任课程:"+project);
}
public static void main(String[] args) {
Teacher teach =new Teacher();
teach.showInfo();
}
}
(4)学生Personクラスコード継承クラスの調製を以下に示します。
package day1;
public class Student extends Person{
String name="小明";
String sex="男";
int age=19;
String number="20173344134";
String department="物联网";
public void showInfo() {
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("年龄:"+age);
System.out.println("学号:"+number);
System.out.println("系别:"+department);
}
public static void main(String[] args) {
Student stu =new Student();
stu.showInfo();
}
}
下に示すように、(5)コード継承Gradstudent Studentクラスを準備します。
package day1;
public class Gradstudent extends Student{
String name="老王";
String sex="男";
int age=19;
String number="20173344134";
String department="物联网";
String teacher="王刚";
public void showInfo() {
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("年龄:"+age);
System.out.println("学号:"+number);
System.out.println("系别:"+department);
System.out.println("导师:"+teacher);
}
public static void main(String[] args) {
Gradstudent stu =new Gradstudent();
stu.showInfo();
}
}
(6)検出し、プログラムを実行します。
図5は、次に起動、加速、ブレーキング技術、および自動車からバスクラスの継承を設計することを示す、メンバ変数のレートの表現を含む車のクラスを設計し、乗客は列車の乗客の定義に加えて、メンバーの可変数の必要性を表明し方法、テストの準備の使用のこれら2つのクラスを下車。(この手順は、主にサブクラスや継承、方法を理解するために使用、あなたがあなた自身を定義することができ、比較的簡単です!)
(1)車の親クラス、メソッド及び変数定義の調製以下のように:
package day1;
public class Car {
public double speed;
public void start() {
System.out.println("车辆开始启动!");
}
public void speedUp() {
System.out.println("车辆开始加速!");
}
public void stop() {
System.out.println("车辆开始刹车!");
}
}
クラス継承publicCar車の(2)の調製は、コードを以下に示します:
package day1;
public class publicCar extends Car {
int number;
void getIn() {
System.out.println("乘客上车!");
}
void getOff() {
System.out.println("乘客下车!");
}
public static void main(String[] args) {
publicCar c=new publicCar();
c.start();
c.speedUp();
c.stop();
c.getIn();
c.getOff();}
}
(3)プログラムおよび検出を実行します。
五、Java文字列の練習
1、シーケンシャル順序文字列で出力した後小から大へのプログラミング、入力ワード、各ワード入力
package test56;
import java.util.Scanner;
public class Wordsorts {
public static void main(String[] args) {
char[] str=new char[100];
char temp;
String string= null;
Scanner sc=new Scanner(System.in);
System.out.println("输入一个字符串:");
string=sc.next();
str=string.toCharArray();
for(int i=0;i<string.length();i++)//排序
for(int j=string.length()-1;j>i;j--)
{
if(str[j]<=str[j-1])
{
temp=str[j];
str[j]=str[j-1];
str[j-1]=temp;
}
}
System.out.println(str);
sc.close();
}
}
2は、キーボードからの暗号化プログラムの書き込み要求は、文字列を入力し、[暗号化された文字列を出力します。次の文字にそれぞれ文字列の暗号化規則は、元のBに変換される表す。C.原稿が小文字に変換され、ケースBを下げるために変換され、大文字は、A Zを大文字に変換しました
package test56;
import java.util.Scanner;
public class Password {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s = sc.nextLine();
char[] ch = s.toCharArray();
System.out.println("加密后的字符串为:");
for (int i = 0; i < ch.length; i++) {
if (ch[i] >= 'A' && ch[i] <= 'Y') {
ch[i] = (char) (ch[i] + 1);
System.out.print(ch[i]);
} else if (ch[i] == 'Z') {
System.out.print('A');
}
else if (ch[i] >= 'a' && ch[i] <= 'y') {
ch[i] = (char) (ch[i] + 1);
System.out.print(ch[i]);
} else {
System.out.print('a');
}
}
}
}