JS:
举例说明
简单来说,输入数据用readline()
读取,输出结果用print()
或console.log()
输出,下面举几个例子:
1.输入一行,输出一行
var line = readline();
print();
//或者
while(line = readline()){
//Do some operation
print();
}
2.输入两行,输出一行
var line = readline();
var num = parseInt(readline());
print();
3.输入数据有多组,每组单独占一行,对于输入的每组数据,对应输出多组,每组单独占一行(这种情况和例子1是一样的处理方法)
var line = readline();
print();
//或者
while(line = readline()){
//Do some operation
print();
}
4.输入数据有多组,每组占两行,对于输入的每组数据,对应输出多组,每组单独占一行(这种情况和例子2是一样的处理方法)
var line = readline();
var num = parseInt(readline());
print();
5.输入数据第一行表示测试样例数,接下来的n行表示n组测试样例,对于输入的每组测试样例,对应输出n组数据
var num = parseInt(readline());
while(line = readline()){
//Do some operation
print();
}
6.输入n行,输出一行
while(line = readline()){
//Do some operation
}
print();
注意:上面的例子是读取输入数据和输出数据,读取到的数据还要处理。
例如输入包括一行,用空格分开的两个正整数,那么用var line = readline()
读取到输入数据之后,还要将读取到的字符串转为数组var arr = line.split(' ');
然后经过var num1 = parseInt(arr[0]), num2 = parseInt(arr[1])
读取到输入的两个正整数。总之,还需要多实践,慢慢就知道牛客网在线编程的套路了
java:
1、
//输入描述:
//输入包括2行:
//第一行为整数n(1 <= n <= 50),即抹除一个数之后剩下的数字个数
//第二行为n个整数num[i] (1 <= num[i] <= 1000000000)
import java.util.*;
public class Next {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int[] num = new int[N];
for (int i = 0; i < N; i++) {
num[i] = sc.nextInt();
}
//System.out.println("hallo");
}
}
2、
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char[] arr = str.toCharArray();
}}
3、
输入描述:
输入包括n+1行: 第一行为单词个数n(1 ≤ n ≤ 50) 接下来的n行,每行一个单词word[i],长度length(1 ≤ length ≤ 50)。由小写字母构成
输出描述:
输出循环单词的种数
输入例子:
5 picture turepic icturep word ordw
输出例子:
2
package string.test;
import java.util.Scanner;
public class Demo1 {
private int N;
private String[] arr;
private int count;
public static void main(String[] args) {
Demo1 demo = new Demo1();
Scanner sc = new Scanner(System.in);
demo.N = sc.nextInt();
demo.arr = new String[demo.N];
for (int i = 0; i < demo.N; i++) {
String str = sc.next();
demo.solve(str);
}
System.out.println(demo.count);
for (int i = 0; i < demo.count; i++) {
System.out.println(demo.arr[i]);
}
sc.close();
}
private void solve(String str) {
if (count == 0) {
arr[0] = str + str;
count++;
return;
}
boolean flag = false;
int num = count;
for (int i = 0; i < num; i++) {
//如果包含该单词,吧flag设置成ture,循环结束要记得把flag重新设置成false
if (judge(arr[i], str)) {
flag = true;
break;
}
}
if (flag != true) {
arr[count++] = str + str;
}
flag = false;
}
/*
* 如果str1包含str2.则返回true
*/
private boolean judge(String str1, String str2) {
if (str1.length() == str2.length())
return false;
//这里必须要验证str2是否为str1的一半,否则会无法通过
if (str1.contains(str2) && str1.length() == str2.length() * 2)
return true;
return false;
}
}