一、上机目的
1.掌握Eclipse环境的使用。
2.掌握基本数据类型及基本类型数组的使用方法
3.掌握Java控制结构中的控制语句和循环语句及其使用方法。
二、上机内容
1..编程求10以内整数的和。
public class T1 {
public static void main(String[] args) {
int i=1,sum=0;
for( ;i<=10;i++){
sum+=i;
}
System.out.println("10以内整数的和为:"+sum);
}
}
2.编程实现将由键盘输入的十进制正整数转换为二进制数,并输出转换后的二进制结果。
package OOP.work.Test2;
import java.util.Scanner;
/*编程实现将由键盘输入的十进制正整数转换为二进制数,并输出转换后的二进制结果。*/
public class T2 {
public static void main(String[] args){
//获取用户输入
Scanner sc = new Scanner(System.in);
System.out.println("请随机输入一个十进制整数:");
//检验用户输入的数值是否符合要求
if(sc.hasNextInt()){
int num=sc.nextInt();
if(num>=0){
System.out.print("十进制"+num+"的二进制为:");
String binary = Integer.toBinaryString(num);//直接调用Integer.toBinaryString()方法
System.out.println(binary);
}else{
System.out.println("您输入的数值有误,请重新输入。");
}
}else{
System.out.println("您输入的数值有误,请重新输入。");
}
}
}
3.编程实现由键盘输入的年份是否为闰年,要求采用方法调用的方式实现。
/*编程实现由键盘输入的年份是否为闰年,要求采用方法调用的方式实现。*/
public class T3 {
private int year;
public T3(int year) {
this.year = year;
if(year%4 == 0 || year%400 == 0){
System.out.println("你输入的年份是闰年");
}else {
System.out.println("你输入的年份不是闰年");
}
}
}
//测试类
public class T3_test{
public static void main(String[] args) {
T3 Bigyear=new T3(2022);
}
}
4. 编程求s=1!+2!+…+n!(n从键盘输入),采用方法调用的方式实现。
import java.util.Scanner;
/*编程求s=1!+2!+…+n!(n从键盘输入),采用方法调用的方式实现。*/
public class T4 {
public static void main(String[] args) {
int k=1;
long sum=0,s;
Scanner scanner=new Scanner(System.in); //使用Scanner类定义对象
System.out.println("请输入一个整数:");
k=scanner.nextInt();
for(int j=1;j<=k;j++){
s=1;
for(int i=1;i<=j;i++){
s*=i; //计算阶乘
}
sum=sum+s;
}
System.out.println("sum="+sum);
}
}
5. 编程求s=1-2+3-4+…+99-100。
/*编程求s=1-2+3-4+…+99-100。*/
public class T5 {
public static void main(String[] args) {
int i=0,sum=0;
for ( ; i<=100;i++){
double a=Math.pow(-1,i-1);
sum +=(a * i);
}
System.out.println("1-2+3-4+…+99-100的和为:"+sum);
}
}
6. 试编写一个程序,其功能是:从键盘输入一个整数,输出这个数的每位数字之和。
例如:输入245789,输出35。
import java.util.Scanner;
/*
试编写一个程序,其功能是:从键盘输入一个整数,输出这个数的每位数字之和。
例如:输入245789,输出35。
*/
public class T6 {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
System.out.println("请输入一个长整数:");
long num =scanner.nextLong();
String string=Long.toString(num);
char arr[]=string.toCharArray();
int sum=0;
for(int i=0;i<arr.length;i++){
/*System.out.println("这个数的第"+(i+1)+"位为"+arr[i]);*/
int a=Integer.parseInt(String.valueOf(arr[i]));
sum =sum +a;
}
System.out.println("长整数各数之和为"+sum);
}
}
7. 设计并实现一个要求用户输入两个数并猜测两数之和的程序。如果用户猜对结果,就显示祝贺消息,否则显示慰问信息以及正确答案。
package OOP.work.Test2;
import java.util.Scanner;
/*设计并实现一个要求用户输入两个数并猜测两数之和的程序。
如果用户猜对结果,就显示祝贺消息,否则显示慰问信息以及正确答案*/
public class T7 {
private int num1;
private int num2;
public T7(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
Scanner scanner=new Scanner(System.in);
System.out.println("输出你猜的两数之和:");
int sum=scanner.nextInt();
if(num1+num2 == sum){
System.out.println("你可真棒,猜对啦");
}else {
System.out.println("你可真是个大聪明,正确答案是:"+(num1+num2));
}
}
}
//测试类
public class T7_test {
public static void main(String[] args) {
T7 number=new T7(23,24);
}
}
8 编写程序,一列数的规律如下:1、1、2、3、5、8、13、21、34……
求这列数的第30个数是多少。
/*编写程序,一列数的规律如下:1、1、2、3、5、8、13、21、34……
求这列数的第30个数是多少。
*/
public class T8 {
public static void main(String[] args){
System.out.println("这列数的第三十个数是:"+fib(30));
}
public static int fib(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fib(n - 1) + fib(n - 2);
}
}
}
9*.输入年月日,输出这一天的前一天。
import java.util.Scanner;
/*输入年月日,输出这一天的前一天*/
public class T9 {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.println("请输入年月日:");
int year=sc.nextInt();
int month=sc.nextInt();
int day=sc.nextInt();
int a[]= {31,29,31,30,31,30,31,31,30,31,30,31};
int b[]= {31,28,31,30,31,30,31,31,30,31,30,31};
boolean flag = (year%4==0 && year%100!=0 || year%400==0);
if (day==1){
if (month==3){
if(flag){
System.out.println("上一天是"+year+"年"+"2月"+"29号");
}else {
System.out.println("上一天是"+year+"年"+"2月"+"28号");
}
}else{
if (month==1){
System.out.println("上一天是"+(year-1)+"年"+"12月"+"31号");
}else {
month--;
if (month==1||month==3||month==5||month==7||month==8||month==10||month==12){
day=31;
}else{
day=30;
}
System.out.println("上一天是"+year+"年"+month+"月"+day+"号");
}
}
}else {
System.out.println("上一天是"+(year)+"年"+month+"月"+(day-1)+"号");
}
}
}
}