プロジェクト2Java言語の基礎
実験の目的:Javaの基本的な文法、基本的なデータ型、さまざまな演算子と式の使用に精通し、演算子の優先順位を習得し、Java選択ステートメントとループステートメントの使用に精通している。
実験の性質:確認実験+計画実験
実験内容:
(1)第2章の例を分析およびデバッグします。(少し)
(2)ifステートメントとswitchステートメントを使用して、機能を実現するプログラムを作成します。生徒の成績(5、4、3、2、1の場合があります)に応じて、対応するレベル(excellent、good、medium、pass)を表示します。 、パスなし)
import java.util.Scanner;
public class Grade {
public static void main(String []args) {
//if方法
System.out.print("请输入学生成绩:");
Scanner input = new Scanner(System.in);
int grade = input.nextInt();
if(grade==5) System.out.println("优秀");
if(grade==4) System.out.println("良好");
if(grade==3) System.out.println("中等");
if(grade==2) System.out.println("及格");
if(grade==1) System.out.println("不及格");
//switch方法
System.out.print("请输入学生成绩:");
int grade2 = input.nextInt();
switch(grade2) {
case 5:System.out.println("优秀");break;
case 4:System.out.println("良好");break;
case 3:System.out.println("中等");break;
case 2:System.out.println("及格");break;
case 1:System.out.println("不及格");break;
}
input.close();
}
}
(3)5と7で割り切れるが、3で割り切れない500以内のデータを出力し、それらの合計を計算します。
public class Divide {
public static void main(String[] args) {
int num = 0;
for(int i=0;i<501;i++) {
if(i%5==0&&i%7==0&&i%3!=0) {
System.out.print(i+" ");
num+=i;
}
}
System.out.println("和为"+num);
}
}
(4)loopステートメントを使用して、次のグラフィックを出力します。
public class Picture {
public static void main(String []args) {
for(int i = 0;i<5;i++) {
for(int j=0;j<5;j++) {
System.out.print("*");
if(j==4) System.out.println();
}
for(int s=0;s<i+1;s++) {
System.out.print(" ");
}
}
}
}
(5)マンマシンボクシング推測:じゃんけん、マンマシンの小さなゲームを書いて、ボクシング推測のラウンドの後、勝ち負けに関する情報が表示されます。
プロンプト:プログラムフロー:
[1]乱数(範囲1〜3)を生成し
ます[2]ユーザーが整数(範囲1〜3)を入力します(適切な情報プロンプトが表示されます)
[3]岩、はさみ、と布、ユーザー入力データと乱数の関係を判断し、勝ち負けの情報を提供します。
乱数生成の指示
方法1:使用Math.random()メソッド
1.あなたはプログラムの先頭でMathクラスをインポートする必要があり、次のよう:
インポートされるjava.langを;。
また、Javaので、インポートすることはできません。 langパッケージシステムは
2を使用します。[m、n間の整数(m <= x <= n)の式]を生成します
。intx=(int)(Math.random()(n-m + 1)+ m)メソッド2 :ランダムクラスを使用する方法
1ランダムクラスは、次のようにプログラムの最初にインポートする必要があります
。importjava.util。*;
2。[m、 n]:
ランダムobj = new Random();
int x = obj.nextInt(n-m + 1)+ m;
入力:
ファイルの先頭に追加:importjava.util 。*;
Scanner read = new Scanner(System.in);
int x = read.nextInt(); //整数を読み取ります
import java.util.Scanner;
public class FingerGuessing {
public static void main(String []args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入您要出的手势 1.剪刀 2.石头 3.布");
int x = in.nextInt();
if(x==1)
System.out.println("我出剪刀");
else if(x==2)
System.out.println("我出石头");
else
System.out.println("我出布");
int y= (int)(Math.random()*3+1);
if(y==1)
System.out.println("对方出剪刀");
else if(y==2)
System.out.println("对方石头");
else
System.out.println("对方布");
if(x==y)
System.out.println("平局");
else if((x==1&&y==2)||(x==2&&y==3)||(x==3&&y==1))
System.out.println("很遗憾,您输了");
else
System.out.println("恭喜您,获得胜利");
in.close();
}
}
(6)数字ゲームを推測する:コンピューターはランダムに数字xを生成します。ユーザーはデータを入力し、それをランダムな数字と比較して、プロンプトメッセージを表示します。
入力データ>ランダムな数字の場合、ユーザーはデータを入力するように求められます。が大きすぎて、ユーザーはデータを再入力する必要があります;
入力データがランダム数よりも小さい場合、ユーザーはデータが小さいことを求められ、ユーザーはデータを再入力する必要があります;
これを繰り返しますユーザー入力データがランダム数と同じになるまで処理します。
import java.util.Random;
import java.util.Scanner;
public class GuessNumber {
public static void main(String []args) {
Random obj=new Random();
int x = obj.nextInt(100)+1;
Scanner price=new Scanner(System.in);
do{
System.out.println("猜测一下某某的价格(0~100元)");
int y = price.nextInt();
if(x>y) {
System.out.println("没这么便宜!");
System.out.print("再");}
else if(x<y) {
System.out.println("有这么贵吗?");
System.out.print("再");}
else
{
System.out.println("猜对了");price.close();break;}
}while(true);
}
}
(7)年、月、日を入力して、その日が最初の日であることを示します。入力した日付の妥当性を確認する必要があります。
import java.util.Scanner;
public class Date {
public static void main(String []args) {
int year;
int month;
int day;
int days;
int monthday;
Scanner in = new Scanner(System.in);
System.out.print("请输入年份");
year=in.nextInt();
while(true) {
System.out.print("请输入月份(1~12)");
month=in.nextInt();
if(month>0&&month<13)
break;
else
System.out.print("输入错误,");
}
while(true) {
System.out.print("请输入日");
day=in.nextInt();
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) //31天的月份
if(day<32&&day>0)
{
monthday=31;break;}
else
System.out.print("输入错误,");
else if(month==2&&year%4==0&&year%100!=0) //普通闰年
if(day<30&&day>0)
{
monthday=29;break;}
else
System.out.print("输入错误,");
else if(month==2&&year%400==0&&year%100==0) //特殊闰年
if(day<30&&day>0)
{
monthday=29;break;}
else
System.out.print("输入错误,");
else if((month==2&&year%4!=0)||(year%100==0&&year%400!=0)) //非闰年
if(day<29&&day>0)
{
monthday=28;break;}
else
System.out.print("输入错误,");
else
if(day<31&&day>0) //30天的月份
{
monthday=30;break;}
else
System.out.print("输入错误,");
}
days=0;
switch(month) {
case 12:days+=31;
case 11:days+=30;
case 10:days+=31;
case 9:days+=30;
case 8:days+=31;
case 7:days+=31;
case 6:days+=30;
case 5:days+=31;
case 4:days+=30;
case 3:days+=31;
case 2:{
if(year%4==0) days+=29;
else days+=28;
}
case 1:days+=31;
}
days=days-(monthday-day);
System.out.println(year+"年"+month+"月"+day+"日,是今年第"+days+"天");
in.close();
}
}