JAVA基础第六组(5道题)
26.【程序26】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
package com.niit.homework1; import java.util.Scanner; /**
* @author: Annie
* @date:2016年5月21日
* @description:【程序26】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。 */
public class JudgeWeek { static Scanner reader = new Scanner(System.in);
public static void main(String[] args) {
String n;
do{
System.out.println("请输入第一个");
String num = reader.next();
num =smallChangBig(num);
printJudge(num);
System.out.println("是否继续(y/n)");
n = reader.next();
n=bigChangeToSmall(n);
}while("y".equals(n));
} private static void printJudge(String num) { switch (num) {
case "M":
System.out.println("今天是星期一");
break;
case "T":
if("T".equals(num)){
System.out.println("请继续输入第二个字母");
String n = reader.next();
n=bigChangeToSmall(n);
if("u".equals(n)){
System.out.println("今天是星期二");
}else if("h".equals(n)){
System.out.println("今天是星期四");
}
}
break;
case "W":
System.out.println("今天是星期三");
break; case "F":
System.out.println("今天是星期五");
break;
case "S":
if("S".equals(num)){
System.out.println("请继续输入第二个字母");
String n = reader.next();
n=bigChangeToSmall(n);
if("a".equals(n)){
System.out.println("今天是星期六");
}else if("u".equals(n)){
System.out.println("今天是星期天");
}
}
break;
default:
System.out.println("输入错误,请重新输入:");
break;
} }
/*将大写字母变成小写字母的方法*/
public static String bigChangeToSmall(String num){
String n= num.toLowerCase();
return n; } /*将小写字母变成大写字母的方法*/
public static String smallChangBig(String num){
String n =num.toUpperCase();
return n; } }
27.【程序27】
题目:求100之内的素数
package com.niit.homework1; /**
* @author: Annie
* @date:2016年5月21日
* @description:【程序27】 题目:求100之内的素数 (只能被一和本身整除的数) */
public class PrintPrime { public static void main(String[] args) {
PrintPrime p = new PrintPrime();
System.out.print("100以内的素数有:");
for (int i = 0; i <100; i++) {
if(p.prime(i)){
System.out.print(i+" ");
}
}
}
/*判断此数是不是素数*/
public boolean prime(int num){
if(num<2){
return false;
}
for (int j = 2; j <=Math.sqrt(num); j++) {
if(num%j == 0){
return false;
}
}return true; } }
28.
29.【程序29】
题目:求一个3*3矩阵对角线元素之和
1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
/**
*
*/
package com.niit.homework1; import java.util.Scanner; /**
* @author: Annie
* @date:2016年5月22日
* @description:【程序29】 题目:求一个3*3矩阵对角线元素之和 */
public class MatrixSum {
static Scanner in = new Scanner (System.in);
public static void main(String[] args) {
System.out.println("请输入你要求和的矩阵的行数n");
int n = in.nextInt();
int [][] arr = new int[n][n];
MatrixSum ms = new MatrixSum();
arr = ms.input(arr);
System.out.println("对角线之和是:"+ms.diagonalSum(arr,n));
}
/**
* @param arr
* 用于计算主对角线和次对角线之和的方法
*/
private int diagonalSum(int[][] arr,int n) {
int sum = 0 ;
if(n%2==0){//如果行数是偶数,这对角线中间不会重复相加
sum = sumD(arr);
}else{//如果是奇数行
int i=n/2;
sum = sumD(arr)-arr[i][i];
}
return sum;
}
/**
* 输入数据,并将数据存在数组中的方法
*/
private int[][] input(int [][] arr) {
for (int i = 0; i <arr.length; i++) {
for (int j = 0; j <arr[i].length; j++) {
System.out.println("请输入第 "+(i+1)+"行第"+(j+1)+"个数");
arr[i][j]=in.nextInt();
}
}System.out.println("原始数据是:");
print(arr);
return arr; } /**
* @param arr
* 打印二维数组的方法:
*/
private void print(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
} }
/**
* @param arr
* 用于计算行数是偶数的矩阵的对角线之和
*/
private int sumD(int [][] arr){
int sum=0;
for (int i = 0; i<arr.length; i++) {
sum = sum+arr[i][i];//累加主对角线
}
for (int i = 0; i < arr.length; i++) {
sum = sum+arr[i][arr.length-1-i];//累加次对角线之和
}
return sum;//偶数行对角线求和
}
}
30.【程序30】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,
依次后移一个位置。
package com.niit.homework1; import java.util.Scanner; /**
* @author: Annie
* @date:2016年5月18日
* @description:【程序30】 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 */
public class InsertNum {
public static void main(String[] args) {
int arr[]={1,4,6,9,13,16,19,28,40,100};
int copy[]= new int [11];
Scanner in =new Scanner(System.in);
System.out.println("请输入要插入的数字:");
int number = in.nextInt() ;
System.out.println("原始数据是:");
for (int i = 0; i < copy.length-1; i++) {
copy[i] = arr[i];
System.out.print(copy[i]+"\t");
} System.out.println();
System.out.println("插入数据是:");
printInsert(copy,number);
}
/**
* 用于插入数据的方法:
* */
private static void printInsert(int [] copy,int number){
int end =copy[9];
int temp1;
int temp2;
if(number>=copy[9]){
copy[10]=number;
}else{
for (int i = 0; i <copy.length; i++) {
if(copy[i]>number){
temp1= copy[i];
copy[i]=number;
for(int j=i+1;j<11;j++)
{
temp2=copy[j];
copy[j]=temp1;
temp1=temp2;
}
break;
}
}
for (int j2 = 0; j2 < copy.length; j2++) {
System.out.print(copy[j2]+"\t");
}
}
}
}
JAVA基础第六组(5道题)的更多相关文章
- Java实习生常规技术面试题每日十题Java基础(六)
目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...
- JAVA基础第十组(5道题)
46.[程序46] 题目:两个字符串连接程序 package com.niit.homework1; import java.util.Scanner; /** * @author: Annie * ...
- JAVA基础第八组(5道题)
36. 37. 38.[程序38] 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. package com.niit.homework1; import java.u ...
- JAVA基础第三组(5道题)
11 [程序11] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件 ...
- JAVA基础第四组(5道题)
16.[程序16] 题目:输出9*9口诀. 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列. package com. ...
- java基础知识4--数组的常用方法(Array)
先说一个idea编辑器的问题,编辑器的光标变成黑色光标无法移动,按一下insert键就好了. 数组是线性数据存储结构.它用牺牲自动扩展大小来换取与集合相比的唯一优势--查询效率的提升.本身是一种引用类 ...
- java基础(十六)----- equals()与hashCode()方法详解 —— 面试必问
本文将详解 equals()与hashCode()方法 概述 java.lang.Object类中有两个非常重要的方法: public boolean equals(Object obj) publi ...
- Java基础(六)包装类
一.包装类 JAVA是一种面向对象语言,java中的类把方法与数据连接在一起,但在JAVA中不能定义基本类型对象,为了能将基本类型视为对象进行处理,java为每个基本类型都提供了包装类. 对应关系如下 ...
- 加深Java基础,做了20道题选择题!简答题没做
2015-03-16 17:13 269人阅读 评论(1) 收藏 举报 分类: 笔试(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. 1,下列说法正确的是( A ) A )Jav ...
随机推荐
- Python爬虫从入门到放弃(二十三)之 Scrapy的中间件Downloader Middleware实现User-Agent随机切换
总架构理解Middleware 通过scrapy官网最新的架构图来理解: 这个图较之前的图顺序更加清晰,从图中我们可以看出,在spiders和ENGINE提及ENGINE和DOWNLOADER之间都可 ...
- Hello world! My first blog!
Hello world! My first blog!
- windows下vue.js开发环境搭建教程
这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...
- absolute 的containing block( 容器块)计算方式跟正常流有什么不同?
无论属于哪种,都要先找到其祖先元素中最近的 position 值不为 static 的元素,然后再判断:1.若此元素为 inline 元素,则 containing block 为能够包含这个元素生成 ...
- mysql创建定时任务,每月1号删除上月数据
1.创建存储过程: CREATE DEFINER=`gzy`@`%` PROCEDURE `delLastMonth`() BEGIN DECLARE lastmonth int; SET lastm ...
- [机器学习] Apriori算法
适用场合 Apriori算法包含两部分内容:1,发现频繁项集 2,挖掘关联规则. 通俗地解释一下,就是这个意思:1.发现哪些项目常常同时出现 2.挖掘这些常常出现的项目是否存在“如果A那么B”的关系. ...
- Ubuntu下OpenCV不能被某个python版本识别
Ubuntu下OpenCV不能被某个python版本识别 Solution: 可以进入相应版本的python,查看该python的path: python import sys print(sys.p ...
- Qt实现冒泡提示框
通过QLabel创建类似冒泡方式的提示框(提示框显示位置为父类控件居中位置,具体可根据需要自行修改),鼠标停留提示框界面时查看信息,离开时自动淡化消失的效果: 头文件定义 #ifndef _TTipW ...
- C#基础课堂笔记
第三章:运算符和表达式 1.认识运算符:运算符又叫操作符,是一个运用于运算的符号,它作用于一个或多个操作数 运算符的分类: (1)按操作数量 一元(目)运算符 作用于一个操作数 二 ...
- javascript DOM 笔记
以下内容来自<javasript DOM 编程艺术>第二版 dom中三种重要的节点:元素节点.属性节点.文本节点. 几种节点的重要属性:nodeValue,nodeType(为数字1.2. ...