实验4 选择结构程序设计
班级            姓名            学号             
java switch case string一、实验目的
1. 掌握关系运算符、逻辑运算符和条件运算符的使用;
2. 学会正确书写关系表达式、逻辑表达式和和条件表达式;
3. 熟练掌握三种if语句和if语句的嵌套;
4. 熟练掌握switch语句。
二、实验学时数
3学时
三、实验步骤
(一)阅读程序
1. 输入并运行以下程序,观察运行结果。
public class Ch41 {
  public static void main(String []args){
int a,b,c;
      a=10;
    b=60;
    c=30;
      if(a>b)  a=b;
      b=c;
      c=a;
      System.out.println("a="+a+",b="+b+",c="+c);   
  }
}
分析结果
a=10,b=30,c=10
运行结果
2. 输入并运行以下程序,观察运行结果。
public class Ch42 {
  public static void main(String []args){
int x=60,a=30,b=20;
int v1=3,v2=8;
if(a<b)
          if(b!=15)  x=1;
        else  x=10;
    x=-2;
System.out.println("x="+x);
}
}
分析结果
x=-2
运行结果
3. 输入并运行以下程序,观察运行结果。
public class Ch43{
  public static void main(String []args){
int i=1;
switch(i)
{  case 1: System.out.printf("%d\t",i++);
  case 2: System.out.printf("%d\t",i++);
    case 3: System.out.printf("%d\t",i++);
  case 4: System.out.printf("%d\t",i++);
}
System.out.println("i="+i);
}
}
分析结果
 1  2  3  4  i=5 
运行结果
 
4.若x=12,则以下程序运行的结果是
import java.util.*;
public class Ch44{
  public static void main(String []args){
int x,y;
System.out.print("请输入一个整数:");
Scanner in=new Scanner(System.in);
Int();
y=x>12?x+10:x-12;
System.out.println("y="+y);   
  }
}
分析结果
  y=0
运行结果
 
(二)完成程序   
要求:按照给定题目要求,参照出现的语句,填写程序空白处。
1.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变,请在_______上填写正确内容。
import java.io.*;
public class Ch45 {
public static void main(String[] args) throws IOException{
char ch ;
System.out.print("请输入一个字符:");
ch=(char)ad();
      if (ch>='A'&&ch<='Z' )
ch+=32;
      else  if (ch>='a'&&ch<='z' )
  ch-=32; 
      System.out.println("ch="+ch); 
  }
}
2.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型,请在_______上填写正确内容。
import java.util.*;
public class Ch46{
  public static void main(String []args){
    float a,b,c,s,area;
System.out.println("请输入三边长:");
Scanner in=new Scanner(System.in);
Float();
Float();
Float();
    if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a )
  {   
s=(a+b+c)/2;
            area= (float)Math.sqrt(s*(s-a)*(s-b)*(s-c));
            System.out.printf("三角形的面积为:%f\n",area);
            if( a==b&&b==c  )
              System.out.printf("等边三角形\n");
          else if( a==b||b==c||c==a  )
            System.out.printf("等腰三角形\n");
          else if((a*a+b*b==c*c)|| (a*a+c*c==b*b)|| (c*c+b*b==a*a))
              System.out.printf("直角三角形\n");
          else System.out.printf("一般三角形\n");
        }
    else System.out.printf("不能组成三角形\n");
}
}
3.输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5 天即本年的第几天,特殊情况,闰年且输入月份大于3 时需考虑多加一天。
import java.util.*;
public class Ch47{
  public static void main(String []args){
    int day,month,year,sum=0,leap;
System.out.println("please input year,month,day:");
Scanner in=new Scanner(System.in);
year=   in.nextInt();         
month = in.nextInt();       
day= in.nextInt();           
switch(month)/*先计算某月以前月份的总天数*/
{
case 1: sum=0  ;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default: System.out.println("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||( year%4==0&& year%100!=0 ))/*判断是不是闰年*/
leap=1;
else
leap=0;
if( leap==1&&month>2 )/*如果是闰年且月份大于2,总天数应该加一天*/
sum++    ;
System.out.printf("It is the %dth day. \n ",sum);
}
}
(三)编写程序
1. 输入某学生的成绩(成绩为100分制整数,如果输入的成绩不在0-100之间,请给出出错提示。),经判断处理后给出学生的等级,等级分类如下:
      90分以上(包括90): A
      80至90分(包括80):B
      70至80分(包括70):C
      60至70分(包括60):D
      60分以下:          E
import java.util.*;
public class Ch48 {
    public static void main(String[] args) {
        int score;
        System.out.print("请输入一个分数:");
        Scanner in = new Scanner(System.in);
        score = in.nextInt();
        char grade;
        if (score >= 90) {
            grade = 'A';
        } else if (score >= 80) {
            grade = 'B';
        } else if (score >= 70) {
            grade = 'C';
        } else if (score >= 60) {
            grade = 'D';
        } else {
            grade = 'F';
        }
        System.out.println("grade=" + grade);
    }
}
2.输入一个三位的正整数,判断该数是否为水仙花数。(水仙花数的是指一个三位数,其各位数字的立方各等于该数本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3)
import java.util.Scanner;
public class Ch49 {
    public static void main(String[] args) {
        int n,n0,n1,n2;
        System.out.print("请输入一个三位数:");
        Scanner in = new Scanner(System.in);
        n = in.nextInt();
n2=n / 100;
n1=n / 10  % 10;
n0=n % 10;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。