Name the following coordination complex
Your textbook contains an error. Either the formula is written incorrectly or the name is. Since according to comments the name is correct, it must be an incorrect formula. Let’s break it down:

If the formula is correct

We have two complex ions that together create a doubly-complex salt. According to the rules of (pseudo-) binary ionic compounds, one ion must be positively charged and the other negatively. By convention, the cation is written first so it is safe to assume that $\ce{[Pt(NH3)4]^{?}}$ be the cation — which fits in well with chemical intuition because $\ce{NH3}$ is a neutral ligand and platinum is a metal.

Therefore, $\ce{[Pt(NH3)Cl3]^{?}}$ must be the anion — very nice, because whe have chlorido ligands that are commonly negative. Since every chlorido ligand adds $-1$ charge to the complex, the anion can be anything from $-1$ to $-3$ with decreasing probability.

The complex needs to be a $1\,:\,1$ binary complex, so the negative charge needs to be equivalent to the positive charge. From here onwards it gets difficult. We have the following possibilities:


$\ce{[Pt^{I}(NH3)4]^{+} [Pt^{II}(NH3)Cl3]^-}$
$\ce{[Pt^{II}(NH3)4]^2+ [Pt^{I}(NH3)Cl3]^2-}$
$\ce{[Pt^{III}(NH3)4]^3+ [Pt^{0}(NH3)Cl3]^3-}$


They all differ in the assumed oxidative states of platinum. We cannot decide a priori which one of these three is correct, although the last one is by far less probable. Technically, we can even assume further diverging oxidation states but they get proportionally less probable. Only if the charge were clearly stated could we distinguish between the cases. For the sake of consistency, here are the names:


tetraammineplatinum(I) amminetrichloridoplatinate(II)
tetraammineplatinum(II) amminetrichloridoplatinate(I)
tetraammineplatinum(III) amminetrichloridoplatinate(0)


If the name is correct

Then we can logically build up the resulting salt from the name. Let’s start with the cation:


It is platinum(II), so we get $\ce{Pt^2+}$
adding four ammine ligands gives us $\ce{[Pt(NH3)4]^2+}$


For the anion:


It is still platinum(II) (although rendered as platinate, so we need to end up with an anion): $\ce{Pt^2+}$
We have one ammine ligand: $\ce{[Pt(NH3)]^2+}$
and three chlorido ($\ce{Cl-}$) ligands: $\ce{[Pt(NH3)Cl3]-}$


Since we have a cation with $+2$ charge and an anion with $-1$ charge, we need two anions per cation, giving us the final formula:

$$\ce{[Pt(NH3)4][Pt(NH3)Cl3]2}$$

So what is correct?

Going by chemical intuition (platinum(II) being a well-known $\mathrm{d}^8$ system that forms square-planar complexes), I would say that the name is correct and the formula isn’t. This also has the implication that they messed up the question by missing a subscripted 2 (rather likely) rather than messing up the answer by getting a Roman numeral wrong (not quite as likely).

Hence there is nothing miraculous or confusing about assigning oxidation states to metals in complexes — and the IUPAC even formally defines oxidation states for promiscuous ligands such as nitrosyl (which is always considered to be a radical neutral ligand, never $\ce{NO^+}$ or $\ce{NO-}$) allowing for a clean-cut naming of complex compounds without knowing the chemistry involved.

The charge does not have to be mentioned in doubly-complex salts for any component. However, it always helps students to give them and in non-trivial cases (like the assumed correct formula) it might be vital to know the overall charges. If there are no charges written, though, the final product has to be assumed neutral.