1. 矩阵转置
输入一个数字构成的矩形, 将矩形的值进行转置后打印
输入:
第一行 正整数n(1<n<10), 表示矩阵的边长
随后输入一个矩阵
输出:
转置后的矩阵
样例输入:
3
1 2 3
4 5 6
7 8 9
样例输出:
1 4 7
2 5 8
3 6 9
package package01;
import java.util.Scanner;
/**
* @author abner
* @version 1.0
*/
public class practise6_1 {
public static void main(String[] args) {
int size;
int[][] arr = new int[10][10];
int[][] result = new int[10][10];
Scanner scan = new Scanner(System.in);
size = scan.nextInt();
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
arr[i][j] = scan.nextInt();
}
}
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
result[j][i] = arr[i][j];
}
}
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
System.out.print(result[i][j]+" ");
}
System.out.print("\n");
}
}
}
HttpServlet
HttpServlet 也是一个抽象类,它进一步继承并封装了 GenericServlet,使得使用更加简单方便,由于是扩展了 Http 的内容,所以还需要使用 HttpServletRequest 和 HttpServletResponse,这两个类分别是 ServletRequest 和 ServletResponse 的子类。代码如下:
abstract class HttpServlet extends GenericServlet{ //HttpServlet中的service() protected void service(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse){ //该方法通过httpServletRequest.getMethod()判断请求类型调用doGet() doPost() } //必须实现父类的service()方法 public void service(ServletRequest servletRequest,ServletResponse servletResponse){ HttpServletRequest request; HttpServletResponse response; try{ request=(HttpServletRequest)servletRequest; response=(HttpServletResponse)servletResponse; }catch(ClassCastException){ throw new ServletException("non-http request or response"); } //调用service()方法 this.service(request,response); } }
我们可以看到,HttpServlet 中对原始的 Servlet 中的方法都进行了默认的操作,不需要显式的销毁初始化以及 service(),在 HttpServlet 中,自定义了一个新的 service() 方法,其中通过 getMethod() 方法判断请求的类型,从而调用 doGet() 或者 doPost() 处理 get,post 请求,使用者只需要继承 HttpServlet,然后重写 doPost() 或者 doGet() 方法处理请求即可。
我们一般都使用继承 HttpServlet 的方式来定义一个 servlet。