问题的链接:http://codeforces.com/contest/734/problem/A 以及我的代码有什么问题
我的代码:
import java.util.Scanner;
import java.lang.String;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int n=in.nextInt();
String s=in.nextLine();
int d=0;
int a=0;
for(int i=0;i<n;i++)
{
if(s.charAt(i)=='A')
a++;
else
d++;
}
if(a>d)
System.out.println("Anton");
else if(a<d)
System.out.println("Danik");
else
System.out.println("Friendship");
}
}
答案 0 :(得分:0)
Scanner.nextInt()
方法不会在通过按Enter键创建的输入中读取换行符,因此请像下面那样更改代码,而不要使用nextInt()
;
Scanner in = new Scanner(System.in);
int n = Integer.parseInt(in.nextLine());
String s = in.nextLine();
这将解决问题
答案 1 :(得分:-1)
Scanner in =新的Scanner(System.in);不会读取换行符,因此我为读取的下一行创建了新对象,它将解决问题
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
in = new Scanner(System.in);
String s = in.nextLine();
if (n == s.length()) {
int d = 0;
int a = 0;
for (int i = 0; i < n; i++) {
if (s.charAt(i) == 'A')
a++;
else
d++;
}
if (a > d)
System.out.println("Anton");
else if (a < d)
System.out.println("Danik");
else
System.out.println("Friendship");
}
}